目录
fgetc、fgets的返回值说明都有提到一句话 “调用失败或者文件读取结束时,函数返回EOF”。但是光凭EOF我们也无从知晓,是调用失败还是文件读取结束。
因此,C语言给我们提供了 feof、ferror 函数。这两个函数 一般可以配套使用,一个用来是否读取到文件尾,一个用来判断是否遇到错误(调用失败)。
两个函数的参数都是 文件指针,这里需要注意的是两个函数的返回值。
函数返回值:如果没有到文件尾,返回0;到达文件尾,返回一个非零值。

函数返回值:无错误出现时返回0;有错误出现时,返回一个非零值。

- FILE* pf = fopen("D:\\data.txt", "r");
- if (pf == NULL)
- {
- perror("fopen");
- return -1;
- }
-
- fgetc(pf);
- fgetc(pf);
- fgetc(pf);
- fgetc(pf);
-
- if (ferror(pf))
- {
- printf("读取时出现了IO错误");
- }
- else if (feof(pf))
- {
- printf("成功到达文件尾");
- }
-
-
- fclose(pf);
- pf = NULL;