#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