我试图将文本文件中的2行读入c plus 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;
}
答案 0 :(得分:0)
不确定您要尝试打开哪个文件,但这是一个完全不同的问题。您编写的代码将打开一个文件,如果您为其提供可以打开的文件的路径。检查当前的工作目录并确认路径是否正确。
即使你解决了这个问题,你也会遇到更多问题。
我希望您感到困惑,因为您反复使用此行覆盖输出:
infile >> output;
也许您打算将输出声明为std::stringstream
对我来说,它没有返回一个空字符串,它返回文件的最后一个字。我想这取决于你文件中的内容。