为什么循环条件中的 iostream::eof 被认为是错误的?
循环中的 iostream::eof 被认为是错误的,因为我们还没有到达 EOF。所以这并不意味着下一次读取会成功。
当我们想在 C++ 中使用文件流读取文件时。而当我们使用循环写入文件时,如果我们使用 来检查文件的结尾,我们实际上是在检查文件是否已到达结尾。stream.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 做点什么
// 无需检查!
}
}
以上是 为什么循环条件中的 iostream::eof 被认为是错误的? 的全部内容, 来源链接: utcz.com/z/356352.html