为什么在循环条件内使用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做某事
//无需检查!
}
}热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语