所以我试图从名为input_file
的文件中读取它直到它结束。我尝试过使用while (!input_file.eof())
,但它继续进行无限循环。我在论坛上四处查看并尝试使用while (getline(input_file, line))
,但这只是返回一个空行。我没有同时使用getline()和>>像其他问题的运营商。
我该如何解决这个问题?这是我的代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
// Main program
void CalfFlac(ifstream& input_file) {
string text;
string line;
while (getline(input_file, line)) {
text += line;
}
cout << text << endl;
}
int main() {
ifstream input_file;
input_file.open("calfflac.in");
CalfFlac(input_file);
}
input_file包含一行Confucius say: Madam, I'm Adam.
,后跟回车符。
感谢您的帮助!
PS:我更喜欢解决方案仍然很简单,因为这似乎是一个非常简单的问题。
答案 0 :(得分:3)
编辑:确保您拥有正确的文件名!我尝试了一个虚假的文件名,它打印出一个空行作为你的描述。 我尝试使用正确的文件名代码,但它对我有用
在主要添加此行:
int main() {
ifstream input_file;
input_file.open("calfflac.in");
if(!input_file)
cout << "File path is wrong!";
CalfFlac(input_file);
}