吾爱程序员:这里有好玩的游戏和软件
当前位置:首页C语言教程 → C 中的 EOF、getc() 和 feof()

C 中的 EOF、getc() 和 feof()

来源:网络 | 更新时间:2022-01-23 18:31:41
在 C/C++ 中,getc()在到达文件末尾时返回 EOF。getc() 失败时也会返回 EOF。因此,仅将 getc() 返回的值与 EOF 进行比较不足以检查文件的实际结尾。为了解决这个问题,C 提供了feof(),它仅在到达文件末尾时返回非零值,否则返回 0。 例如,考虑以下 C 程序在屏幕上打印文件test.txt的内容。在程序中,getc() 的返回值首先与 EOF 进行比较,然后再使用 feof() 进行检查。通过进行此检查,我们确保程序仅在到达文件结尾时才打印“到达文件结尾”。如果 getc() 由于任何其他原因返回 EOF,则程序将打印“出问题了”

#include <stdio.h>

int main()
{
FILE *fp = fopen("test.txt", "r");
int ch = getc(fp);
while (ch != EOF) 
{
/* display contents of file on screen */ 
putchar(ch); 

ch = getc(fp);
}

if (feof(fp))
printf("n End of file reached.");
else 
printf("n Something went wrong.");
fclose(fp);

getchar();
return 0;
}
 

最新文章

热点资讯

手游排行榜

CopyRight 2020-2030吾爱程序员

鄂ICP备2021004581号-8

本站资源收集于网络,如有侵权请联系我们:35492删除0109@qq.com