为什么循环条件中的 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

回到顶部