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

在C/C++中, getc() 到达文件结尾时返回EOF。getc()在失败时也会返回EOF。仅将GetF()与check返回的实际值进行比较是不够的。为了解决这个问题,C提供了 feof() 它仅在文件结束时返回非零值,否则返回0。 例如,考虑下面的C程序来打印文件的内容 测验txt 在屏幕上。在程序中,首先将getc()的返回值与EOF进行比较,然后使用feof()进行另一次检查。通过检查,我们确保程序打印 “已到达文件结尾” 仅当到达文件末尾时。如果getc()由于任何其他原因返回EOF,那么程序将打印 “出了点问题”

null

#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 ( " End of file reached." );
else
printf ( " Something went wrong." );
fclose (fp);
getchar ();
return 0;
}


如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享