このコードは、常にファイルの最後の行を出力します。ファイルからすべてのテキストを一度に 1 行ずつ出力することを期待していました。なぜそれが機能しないのですか?
string filename;
cout << "File to read: ";
cin >> filename;
ifstream afile;
afile.open(filename.c_str());
string line;
while(!afile.eof()) {
getline(afile, line);
cout << line;
}
afile.close();
この方法で試してみると、同じことが起こります。
for (string line; getline(afile, line);) {
cout << line;
}
多分これは私の端末の問題ですか?これは機能します...
for (string line; getline(afile, line);) {
cout << line << endl;
}