关于feof先读取一次再进行判断的问题

C教科书说要先读取一次才能进行判断是否到文件末尾的么?为什么C教程很多习题包括2级C考试题目都是直接While(!feof(fp))/*fp代表文件指针)*/这样判断的?... C教科书说要先读取一次才能进行判断是否到文件末尾的么?为什么C教程很多习题包括2级C考试题目都是直接While(!feof(fp)) /*fp代表文件指针)*/ 这样判断的?都没有读取过<例如先ch=getc(fp);然后While(!feof(fp))>...是不是不用读取就直接可以判断的?那为什么教科书还说需要先读取一次的操作呢? 展开
 我来答
L_o_o_n_i_e
2009-03-25 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5158万
展开全部
feof(fp) 判断文件是否已读到 文件 结束符 EOF.
(!feof(fp)) 表示如果没有 读到 EOF 则循环。

只有读了以后,而且读到 EOF, feof(fp) 才是真。!feof(fp) 才是假,循环结束。

没有读取过就判断,判断出来当然是 “没有读到 EOF ”,循环当然继续。符合程序员的要求。所以很多人就这样写。
海纳百川文渊阁
2020-06-20 · TA获得超过148个赞
知道答主
回答量:70
采纳率:100%
帮助的人:8.4万
展开全部
正确的用法是要读取一次再进行判断,不然会导致文件尾符号"FF"被显示(但看不见)或写入到文件尾(用工具可以看到),很多教程如谭浩强老师的早期教程(到第四版都是这么写)都有这个错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jnagmy_hu
2009-03-25 · TA获得超过220个赞
知道答主
回答量:102
采纳率:0%
帮助的人:66.9万
展开全部
答案都有了 C程序书上讲的很详细
就要看你自学咯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式