梗概:为什么C语言读取文件到结构体时为什么整天多读一行?一切都是【!feof(fp)】的错!!! while
(!feof(fp)){fgets(buffer,256,fp);j++;}像这样的代码,是很多C语言学者经常犯的错误!!feof()这个函数是用来判断指针是否已经到达文件尾部的。若fp已经...
分类:
编程语言 时间:
2014-06-08 19:22:34
阅读次数:
276
功能:检测流上的文件结束符。如果文件结束,则返回非0值,否则返回0,文件结束符只能被clearerr()清除。正确的应该是feof返回0表示文件没有结束,返回1,表示结束。feof实际观察的是上次读操作的内容,也就是上次读操作fread返回的值,如果读操作的返回值表明读取的不是空,那feof就返回0...
分类:
其他好文 时间:
2014-05-16 21:39:20
阅读次数:
407
getchar的返回值
这样的代码有什么问题:
char c;
while((c = getchar()) != EOF)....
getchar返回值变量必须是int型。因为EOF通常定义为-1,二十进制为255的字符会被符号扩展,和EOF比较时会相等,从而
过早第结束输入。
feof函数的使用
为什么这些代码最后一行复制了两遍?
#include
#inclu...
分类:
编程语言 时间:
2014-05-11 06:22:53
阅读次数:
422