c语言feof函数使用,c++ feof

C语言中的feof怎么用?

这一句:

目前创新互联建站已为千余家的企业提供了网站建设、域名、雅安服务器托管、网站托管维护、企业网站设计、白山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

while (!feof(p));//循环到文件结尾

把while (!feof(p)) 后面的  ; 去掉,否则就成死循环了

C语言的feof()函数

feof()函数不是判断上次读操作是否读到文件末尾,而是判断当前文件指针所指向未知是否是文件末尾。和你读没读没关系。

所以即使你打开文件,没有读,如果文件是个空文件,那么直接调用feof()也将返回真。

C语言中的feof函数

即使文件是空的,也要再读一次,feof函数值才会变为真。

因为只有读出所有的数据之后,再读一次,函数feof(fp)的返回值才为真。(请见《C语言好程序设计—从入门到进阶》,人民邮电出版社,2011。)

示例:

#includestdio.h

#includestdlib.h

main()

{

FILE *fp;

int a;

if((fp=fopen("c:\\number.txt","r"))==NULL)

{

printf("文件打开失败!\n");

exit(0);

}

fscanf(fp,"%d",a);

while(!feof(fp)) /*等价于while(feof(fp)==0)*/

{

printf("%d ",a);

fscanf(fp,"%d",a);

}

fclose(fp);

}

C语言中feof的用法疑问

feof

只是“事后”检查,它不会改变文件流的状态,甚至根本不会去读文件,它只会检查相应的

FILE

结构体的

eof

标记。某种意义上,

feof

就是面向对象中的

getter

方法。

只有别的函数从文件里面读东西然后因为碰到错误于是需要的东西没有读出来,才会把

对应的

FILE

结构体

eof

标记设为真。


分享文章:c语言feof函数使用,c++ feof
标题来源:http://scyanting.com/article/dsgojgp.html