我记得scanf有EOF的返回的(如果读取到文件尾的话)。当然,我觉得fscanf也应该有。 以前acm的时候总是这么写的 while(scanf(..., ...) != EOF) { ... } On Fri, Mar 16, 2012 at 8:21 PM, 吴亚杰 <yajie...@hotmail.com> wrote:
> > 恩 问题已经解决了~~ > 确实是要先读取数据 > > > From: hox...@qq.com > > To: ubuntu-zh@lists.ubuntu.com > > 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:世界是合理的简单的因而是可以理解的。 > > > > > > > > > > > > > > ------------------ 原始邮件 ------------------ > > 发件人: "吴亚杰"<yajie...@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 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/e94dc616/attachment.html > > > -- > ubuntu-zh mailing list > ubuntu-zh@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh > -- Perfection is achieved not when there is nothing more to add but when there is nothing left to take away -------------- 下一部分 -------------- 一个HTML附件被移除... URL: <https://lists.ubuntu.com/archives/ubuntu-zh/attachments/20120317/1eb54d8b/attachment.html> -- ubuntu-zh mailing list ubuntu-zh@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh