#include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { FILE *fp; int c; if((fp = fopen(argv[1], "r")) == NULL ) { fprintf(stderr,"ファイルオープンエラー\n"); exit(EXIT_FAILURE); } /* ファイル終了まで読み込み 下記注意参照のこと */ while (feof(fp)==0) { c = getc(fp); putchar(c); } fclose(fp); return 0; }【実行結果】
指定ファイルの内容を全て標準出力します。(注意) この使用例は、あくまでもファイル終了までファイルを読み、ファイル終了の検知を行うことが目的です。この例のようにすると、ファイル終端に達してもgetcでファイルを読み込もうとするので、読み込みに失敗し、cにはEOFが返ります。それを。putcharで表示するのはうまくありません。ですから、getcでファイル全体を読む場合には、次のようにしてください。
#include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { FILE *fp; int c; if((fp = fopen(argv[1], "r")) == NULL ) { fprintf(stderr,"ファイルオープンエラー\n"); exit(EXIT_FAILURE); } /* ファイル終了まで読み込み */ while ((c = getc(fp)) != EOF) { putchar(c); } fclose(fp); return 0; }
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved