C++ 如何从文件itno读取文本标准字符串cpp

C++ 如何从文件itno读取文本标准字符串cpp,c++,readfile,C++,Readfile,我正在尝试从一个文本文件中读取大约2行内容到c plus中的std::string中。我仔细查看了几个答案,发现没有一个在我的设备上起作用。谁能告诉我我做错了什么?该方法当前返回空字符串,并且根本无法正确打开或读取该文件 std::string readFile(std::string filename) { std::ifstream infile; infile.open(filename); std::string output; if (infile.is_open())

我正在尝试从一个文本文件中读取大约2行内容到c plus中的std::string中。我仔细查看了几个答案,发现没有一个在我的设备上起作用。谁能告诉我我做错了什么?该方法当前返回空字符串,并且根本无法正确打开或读取该文件

std::string readFile(std::string filename) {
  std::ifstream infile;
  infile.open(filename);
  std::string output;
  if (infile.is_open()) {
    while(infile.good()) {
      infile >> output;
    }
  }
  infile.close();
  return output;
}

不确定要打开的文件是什么,但这是一个完全不同的问题。如果您为您编写的代码提供一个可以打开的文件的路径,那么它将打开一个文件。检查当前工作目录并确认路径正确

即使你解决了这个问题,你也会有更多的问题

我预计您会感到困惑,因为您反复使用以下行覆盖输出:

infile >> output;
也许您想将输出声明为std::stringstream


对我来说,它不会返回空字符串,而是返回文件的最后一个字。我想这取决于你的档案里有什么。

当你说“不管用”时,它到底是什么意思?“正确打开文件”意味着什么?而file.good将继续读取,直到读取失败一次。读取失败后,字符串将为空。可能重复的