恩 问题已经解决了~~ 确实是要先读取数据
> From: [email protected] > To: [email protected] > Date: Fri, 16 Mar 2012 17:40:41 +0800 > Subject: [Ubuntu-zh] 回复: feof的问题 > > 上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:世界是合理的简单的因而是可以理解的。 > > > > > > > ------------------ 原始邮件 ------------------ > 发件人: "吴亚杰"<[email protected]>; > 发送时间: 2012年3月16日(星期五) 下午5:24 > 收件人: "ubuntu-zh"<[email protected]>; > > 主题: [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 > [email protected] > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -------------- 下一部分 -------------- > 一个HTML附件被移除... > URL: > <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120316/bf74f0ce/attachment.html> > -- > ubuntu-zh mailing list > [email protected] > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh -------------- 下一部分 -------------- 一个HTML附件被移除... URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120316/e94dc616/attachment.html> -- ubuntu-zh mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh
