C言語

コマンドライン引数を取得する

とりあえず下記のコードでコマンドライン引数を取得可能。 コマンド自体も1引数とみなされるのね。 後はここで取得した文字列?をどうするか。 main(int argc, char* argv[]) { int i; printf("%d arg(s) exists\n", argc - 1); for(i=0; i

第3回勉強会の課題

基本は、『第2回で作成したプログラムを良くする』。 別途、学習事項は下記の通り。 型変換。文字列→整数、整数→文字列。前者は簡単らしいが。 引数をコマンドラインから取得できるように。scanfは問題があるのでダメらしい。 文字列を連結させる(難しいらし…

第2回勉強会の回答のいけなかった点。

どうやら課題の意図を取り違えていた。 dumpする、ってのは、単に出力・表示するということだと取り違えていた。 意図していたのは、メモリに保存されているデータを、 生の形で出力ことらしい。 なので、-に関して、処理を入れて整形しているのはいかんぞ、…

第2回勉強会の回答案2

こんなのでどうだろうか。 bit_dump.c #include <stdio.h> void bitDump(int x); int main(void); void bitDump(int x) { int r; r = x % 2; x = x / 2; if (x > 0) { bitDump(x); } printf("%d", r); } int main(void) { int x; printf("input number\n"); scanf("%d</stdio.h>…

第2回勉強会の回答案1

こんなのでどうだろうか。 hex_dump.c #include <stdio.h> void hexDump(int x); int main(void); void hexDump(int x) { int r; r = x % 16; x = x / 16; if (x > 0) { hexDump(x); } if (r >= 0 && r <= 9) { printf("%d", r); } else if (r > 9) { putchar('A' + r</stdio.h>…

第1回勉強会の概要

僕は所用で休んでしまったので、出れなかったです。。 なので、社内で共有している情報をまとめます。C言語で実行ファイルが出来るまでの流れ コンパイラオプションを指定することで プリプロセスのみ コンパイルまで アセンブルまで といった指定が可能。(…

第2回勉強会の課題

昨日の第2回勉強会を休んでしまったので、とりあえず課題のみ。 課題内容は・32bit整数を16進と2進でdumpする。出力先は画面。 例) hex_dump(n) → 標準出力 bit_dump(n) → 標準出力 とのこと。

andLinuxでC言語を使うための環境作りの補足

デフォルトの状態でgccでコンパイルをしようとすると、 test.c:19: error: stdio.h: No such file or directoryのようなエラーが出てコンパイルできない。 libc6-devパッケージがインストールされていないのが原因で、 apt-get install libc6-devでインスト…

第1回勉強会の回答案

こんなのでどうだろうか。 main.c #include <stdio.h> int main(void) { hello(); return 0; }hello.c #include <stdio.h> #define BUFFER_SIZE 200 void hello() { char buffer[BUFFER_SIZE]; FILE *fin; fin = fopen("message.txt", "r"); if (!fin){ printf(" not open\n ")</stdio.h></stdio.h>…

環境作り、andLinuxとVMware Serverは共存できない?

andLinuxが上手くインストールできない。 どうやらネットワークアダプタ周りで、VMware Serverと干渉しあうみたい。 VMware Serverをアンインストールすると、すんなりインストールできた。

第1回勉強会のまとめ

勉強会の概要 文法や構文、環境等は各自でやる。 IDEは使わず、コンパイルも手動で。当面はgccのみでmakeも使わない予定。 勉強会要旨 C言語の誕生は、UNIXの誕生とほぼ同じころ ブライアン・カーニハンやデニス・リッチーがUNIXを作るための言語として作っ…

今日から勉強会が始まりました

会社で勉強会が始まりました。 動作原理の部分を含め、深く勉強する予定。 今後、勉強したことをまとめていきます。