使用ifstream读取txt时eof问题

ifstream infile
infile.open("xxx.txt");

int x;
while(!infile.eof())
   infile>>x;

以为当读完最后一个字符时,infile.eof()变为true,实际中发现当读完最后一个字符时,还会再读一次,当发现没有新的可以给x时,eof()才会变为true,这个时候的x会跟最后一个字符一样,导致我们读取的实际内容会比txt中多一行(这行和最后一个一模一样).
所以应该修改为:

while(infile>>x)

当判断没有字符可以>>x时就退出while循环.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值