feof()は、ファイルポインタの位置がEOF(End of File、ファイルの最後)であるかどうか調べます。
#include <stdio.h>
int feof(FILE *stream);
stream には、ファイルの終端に達したかどうか調べるファイルのデスクリプタを指定します。
feof()は、EOFであれば0以外の値を返し、そうでなければ0を返します。
次の例は、カレントディレクトリにあるファイルtest.txtを1バイトずつ読み込んでは標準出力に出力するという作業をファイルの最後まで繰り返す例です。
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *stream;
int c;
stream = fopen("./test.txt", "r");
if (stream == NULL) {
fprintf(stdout, "ファイルを開くことができません.\n");
return;
}
while (!feof(stream))
{
c = fgetc(stream);
fputc(c, stdout);
}
fclose(stream);
return 0;
}