为什么在循环条件内使用iostream :: eof被认为是错误的?
仅仅因为我们尚未达到EOF,并不意味着下一次读取将成功。
假设您有一个使用C++中的文件流读取的文件。编写循环以读取文件时,如果要检查stream.eof(),则基本上是在检查文件是否已达到eof。
所以你会像这样写代码-
示例
#include<iostream>
#include<fstream>
using namespace std;
int main() {
ifstream myFile("myfile.txt");
string x;
while(!myFile.eof()) {
myFile >> x;
//需要再次检查x是否有效或eof-
if(x) {
//用x做某事
}
}
}示例
当您直接在循环中使用流时,无需两次检查条件-
#include<iostream>
#include<fstream>
using namespace std;
int main() {
ifstream myFile("myfile.txt");
string x;
while(myFile >> x) {
//用x做某事
//无需检查!
}
}热门推荐
4 孙媳妇祝福语简短
10 升学祝福语简短的个性
11 简短的高考祝福语精选
12 送离职同事简短祝福语
13 简短中秋祝福语朋友结婚
14 祝贺新店开业祝福语简短
15 新年留言老师祝福语简短
16 朋友药店开业祝福语简短
17 新人结婚简短祝福语大全
18 同事们生日祝福语简短