C++ 关于文件读取的问题

有intvalueifstreaminfile;infile.open("example.txt");infile>>value;如果此时读取完毕之后文件到达末尾if(!...
int value
ifstream infile;
infile.open("example.txt");
infile>>value;
如果此时读取完毕之后 文件到达末尾
if(!infile.good())
{
exit(EXIT_FAILURE):

}
那么 exit会不会执行?
展开
 我来答
White_MouseYBZ
2014-09-21 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6637万
展开全部
good()在无错情况下返回非0,所以if(!infile.good())这个判断在有错时才为“真”而执行exit(EXIT_FAILURE);。文件结束的EOF必须是发生“越过“结尾读取动作后才产生的,这里infile>>value;假设的是刚好读到最后一个数据,并没有”越过“文件结尾,所以不会产生EOF,也就不会使!infile.good()为真,自然不会执行exit(EXIT_FAILURE);。另:int value后少了分号,exit(EXIT_FAILURE)后应该是分号而不是冒号。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式