以下のコードを実行するとコマンドライン引数のファイルを読み込み、ファイルオープンするというところまで(cat関数のfopenの部分まで)は理解できたのですが、
int c; while ((c = fgetc(f)) != EOF) { if (putchar(c) < 0) die(path); } if (fclose(f)) die(path);
上記の部分のコードでどのような処理をしているのかがいまいちわかりません。教えてくださいよろしくお願いします
#include<stdio.h> #include<stdlib.h> void die(const char *s) { perror(s); exit(1); } void cat(const char *path) { FILE *f = fopen(path, "r"); if(!f) die(path); int c; while ((c = fgetc(f)) != EOF) { if (putchar(c) < 0) die(path); } if (fclose(f)) die(path); } int main(int argc, char *argv[]) { if (argc < 2) { fprintf(stderr, "useage: %s file\n", argv[0]); exit(1); } int i; for(i=1; i<argc; ++i) { cat(argv[i]); } return 0; }
コードの出典はどこでしょうか。
回答1件
あなたの回答
tips
プレビュー