从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这一句:
目前创新互联建站已为千余家的企业提供了网站建设、域名、雅安服务器托管、网站托管维护、企业网站设计、白山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
while (!feof(p));//循环到文件结尾
把while (!feof(p)) 后面的 ; 去掉,否则就成死循环了
feof()函数不是判断上次读操作是否读到文件末尾,而是判断当前文件指针所指向未知是否是文件末尾。和你读没读没关系。
所以即使你打开文件,没有读,如果文件是个空文件,那么直接调用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);
}
feof
只是“事后”检查,它不会改变文件流的状态,甚至根本不会去读文件,它只会检查相应的
FILE
结构体的
eof
标记。某种意义上,
feof
就是面向对象中的
getter
方法。
只有别的函数从文件里面读东西然后因为碰到错误于是需要的东西没有读出来,才会把
对应的
FILE
结构体
的
eof
标记设为真。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图