ヘッダ | stdio.h |
書式 | int feof(FILE *stream); |
引数 | stream … ファイルポインタ |
戻り値 | ファイルポインタの位置がEOFの場合:0以外の値 ファイルポインタの位置がEOF以外の場合:0 |
解説 | streamで指定したストリームのファイルポインタの位置がファイルの最後(EOF)であるかどうか調べる |
実行ファイルと同じディレクトリにある「test.txt」を開き、
ファイルから1バイトずつ読み込んで1バイトずつ標準出力する。
/****************************************************************************/ #define _CRT_SECURE_NO_DEPRECATE 1 // VisualC++を使用する場合の警告抑制 #include<stdio.h> int main() { FILE *fp; int chk; int c; // 実行ファイルと同じディレクトリにある「test.txt」を開く fp = fopen("test.txt", "r"); if(fp == NULL) // ファイルがオープンできない場合 { fprintf(stderr, "ファイルオープンエラー\n"); return 1; } // ファイルから1バイトずつ読み込んで1バイトずつ標準出力する while(1) { c = fgetc(fp); // ファイルから1バイト読み込む if(feof(fp)) // ファイル終端の場合 { break; // ループを抜ける } if(ferror(fp)) // 入力ストリームエラーの場合 { fprintf(stderr, "ストリームエラーです\n"); break; } fputc(c, stdout); // 1バイト標準出力 } // カレントディレクトリにある「test.txt」を閉じる chk = fclose(fp); if(chk != 0) // ファイルクローズ失敗 { fprintf(stderr, "ファイルクローズエラー\n"); return 1; } return 0; } /****************************************************************************/
プログラムで使用するtest.txtの内容
--------------------------
abc
123
XYZ
--------------------------
Copyright(c) 2010 , cgengor
このWebページの内容を無断で複製または転載することを禁じます。
このWebページの情報を利用することにより発生したいかなる損害について著作権保有者はいっさいの責任を負いません。