[Ubuntu-zh] 回复: feof的问题

Earthson earthson.landy在gmail.com
星期六 三月 17 01:46:50 UTC 2012


我记得scanf有EOF的返回的(如果读取到文件尾的话)。当然,我觉得fscanf也应该有。
以前acm的时候总是这么写的
while(scanf(..., ...) != EOF) {
    ...
}
On Fri, Mar 16, 2012 at 8:21 PM, 吴亚杰 <yajie.wu在hotmail.com> wrote:

>
> 恩 问题已经解决了~~
> 确实是要先读取数据
>
> > From: hoxily在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.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 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 的更多信息