feof
函数 <cstdio>
int feof ( FILE * stream );
检查文件尾指示器
检查是否设置了与流关联的文件结束符指示符,如果设置了,则返回一个不等于零的值
此指示符通常由流上的前一个操作设置,该操作试图在文件结束处或文件结束处读取。
请注意,流的内部位置指示符可能指向下一个操作的文件结束符,但是,
文件结束符可能直到某个操作试图在该点读取时才被设置。
这个指示器可以通过调用
clearerr,
fseek,
fsetpos,
rewind或
freopen来清除。
虽然位置指示器如果没有被这样的调用重新定位,下一次i/o操作很可能再次设置指示器。
☲ 参数
stream
指向标识流的
FILE对象的指针。
☉ 返回值
如果设置了与流关联的文件结束指示符,则返回一个非零值。
否则,返回0。
☣ 示例
/* feof example: byte counter */
#include <stdio.h>
int main ()
{
FILE * pFile;
int n = 0;
pFile = fopen ("myfile.txt","rb");
if (pFile==NULL) perror ("Error opening file");
else
{
while (fgetc(pFile) != EOF) {
++n;
}
if (feof(pFile)) {
puts ("End-of-File reached.");
printf ("Total number of bytes read: %d\n", n);
}
else puts ("End-of-File was not reached.");
fclose (pFile);
}
return 0;
}
|
这段代码打开名为myfile.txt的文件,并通过逐个读取所有字符来计算其中包含的字符数。
程序检查是否到达文件结束符,如果到达,则输出读取的总字节数。
🍄 另请参阅