[Ubuntu-zh] 回复: feof的问题
Hoxily
hoxily在qq.com
星期五 三月 16 09:40:41 UTC 2012
上C语言课时,我的老师李强强调,
feof函数的正确使用方法是先尝试读取数据,然后用feof判断是否结束.
比如如下代码片段:
char c;
c = fgetc(fp);
while(!feof(fp))
{
printf("%X/n", c);
c = fgetc(fp);
}
参考链接:http://www.cnblogs.com/chenyadong/archive/2012/03/06/2382628.html
------------------
Hoxily:世界是合理的简单的因而是可以理解的。
------------------ 原始邮件 ------------------
发件人: "吴亚杰"<yajie.wu在hotmail.com>;
发送时间: 2012年3月16日(星期五) 下午5:24
收件人: "ubuntu-zh"<ubuntu-zh在lists.ubuntu.com>;
主题: [Ubuntu-zh] feof的问题
在用feof判断文件是否结束的时候总会多出一行:
下面的代码运行的结果总是 最后一行被读取了两次。
whie(!feof(fp)){
fscanf(fp,“%d”,&data);
}
fp指向的文件中存放如下的内容:
1122334455
运行上面的代码,55总是被读取了两次。这是为什么?feof在判断文件结束时返回非零值,不是应该退出while嘛?
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120316/7e541eec/attachment.html>
--
ubuntu-zh mailing list
ubuntu-zh在lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120316/bf74f0ce/attachment.html>
关于邮件列表 ubuntu-zh 的更多信息