仅仅因为我们尚未达到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做某事 //无需检查! } }