C++ 检查空文件中的 EOF

C++ Check Eof in Empty File

提问人:Ismail Ayvaz 提问时间:1/8/2021 更新时间:1/8/2021 访问量:479

问:

我正在编写简单的程序,该程序检查文件的第一个字符,并在文件为空时打印“文件为空”

根据这个问题: ifstream 的 eof() 是如何工作的? 我可以比较和检查文件末尾。但是以下程序不打印任何内容:ifstream.get()char_traits::eof()


#include<iostream>
#include<string>
#include<fstream>

int main(){
  std::ifstream myCin("console.txt");

  if(myCin.get()
     == std::char_traits<char>::eof())
    {
      std::cout <<
        "File is empty" << std:: endl;
    }

  myCin.close();
}

注意:控制台 .txt 为空

C++ 文件 IOSTREAM EOF

评论

0赞 Muhammed Kılıç 1/8/2021
您可能需要查看此 stackoverflow.com/a/2390938/9052234
0赞 Alan Birtles 1/8/2021
文件实际上是空的还是包含一个空行?
0赞 Ismail Ayvaz 1/8/2021
谢谢艾伦,你是对的!文件不为空

答: 暂无答案