中易网

C++文件读取问题!什么情况下会一直读入 -1 ,但是判断eof()却一直为0

答案:4  悬赏:60  
解决时间 2021-02-09 23:50
C++文件读取问题!什么情况下会一直读入 -1 ,但是判断eof()却一直为0
最佳答案
不是你的文件有问题,问题肯定出在in.eof()的判断上,其实已经读到文件末尾了,所以peek()返回的是-1,但是eof没有返回应该返回的true。具体是什么原因,你要去查查eof()函数的使用方法。

你跟踪一下eof()返回的值,你会发现返回了一个很大的整数,而不是0或者-1,所以导致一直循环。


while(temp!=ch&&!in.eof());
改成while(temp!=ch && cin.peek() != EOF); 问题解决
全部回答
代码贴出来 瞅瞅
贴出文件的内容来看看

是文件的结尾标志,通过它可以判断到达了文件尾部

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我要一个CF 的FPS在300-350的电脑配置。要能
一条抛物线与x轴的两个交点的横坐标分别是-3
煌家宝贝母婴生活馆晨光分店地址有知道的么?
怎么开启和打开USB2.0的端口???
家用功放机的麦克风接头是多大的?
利源商行地址在哪,我要去那里办事
因为忙于准备本周末英语演讲不能参加你校英籍
ldpe国产料和进口料现在的价格一样吗
元祖食品怎么去啊,有知道地址的么
目前(2010年6月)青城后山可以上山吗?
快手上面的歌 ,男的唱的,歌词里面有一句什
炫舞.进游戏大厅了.开房间进游戏.游戏自动退
百丽精品商务酒店在什么地方啊,我要过去处理
泉州哪里有卖假发
如果说高尔基的《海燕》,是奔腾咆哮的大江,
推荐资讯
生物冰袋打开能用手摸吗
颈椎疼发烧头晕是不是换上了眩晕症
灵宝市涧西区人口和计划生育服务中心地址有知
2014注册测绘师考试都是选择题吗
哪里有87年左右的四十首民歌大联唱下载
为什么我ps里画笔变大缩小快捷键失效 以前可
新帕萨特故障码制动识别开关
三合浓香宴地址在什么地方,想过去办事
癌症患者出现腹水之后怎样缓解腹部胀痛。插管
求解一摩尔此物质 能和 多少摩尔氢氧化钠反应
在学校里怎么样能防止手机被偷
古代僵尸强弱的 排名
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?