Home C&C++函数库 c++ 语法 程序源码 Linux C库

feof

函数  <cstdio>

int feof ( FILE * stream );

检查文件尾指示器

检查是否设置了与流关联的文件结束符指示符,如果设置了,则返回一个不等于零的值

此指示符通常由流上的前一个操作设置,该操作试图在文件结束处或文件结束处读取。
请注意,流的内部位置指示符可能指向下一个操作的文件结束符,但是, 文件结束符可能直到某个操作试图在该点读取时才被设置。

这个指示器可以通过调用clearerr, fseek, fsetpos, rewindfreopen来清除。 虽然位置指示器如果没有被这样的调用重新定位,下一次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的文件,并通过逐个读取所有字符来计算其中包含的字符数。 程序检查是否到达文件结束符,如果到达,则输出读取的总字节数。

🍄  另请参阅



clearerr 清除错误状态指示(function )
ferror 检查错误指示器(function )

联系我们 免责声明 关于CandCplus 网站地图