为什么循环条件中的 iostream::eof 被认为是错误的?
循环中的iostream::eof被认为是错误的,因为我们还没有到达EOF。所以这并不意味着下一次读取会成功。
当我们想在C++中使用文件流读取文件时。而当我们使用循环写入文件时,如果我们使用来检查文件的结尾,我们实际上是在检查文件是否已到达结尾。stream.eof()
示例代码
#include#include using namespace std; int main() { ifstream myFile("myfile.txt"); string x; while(!myFile.eof()) { myFile >> x; //需要再次检查x是否有效或eof if(x) { //用x做点什么 } } }
当我们在循环中直接使用流时,我们不会再次检查条件。
示例代码
#include#include using namespace std; int main() { ifstream myFile("myfile.txt"); string x; while(myFile >> x) { //用x做点什么 //无需检查! } }