gpt4 book ai didi

c++ - 使用 getline() c++ 从文件中读取时遇到问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:30 25 4
gpt4 key购买 nike

此代码始终打印文件的最后一行。我希望它打印文件中的所有文本,一次一行。知道为什么它不起作用吗?

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;
}

最佳答案

问题是只打印了最后一行。正确吗?

  1. 我建议您在 while 循环中添加 std::endl。它可以使问题更清楚。有时输出可能会令人困惑。
  2. 您还可以检查输入文件中的行分隔符。 '\n'getline 的默认分隔符。如果使用不同的字符,请将其指定为 getline 的第三个参数。

关于c++ - 使用 getline() c++ 从文件中读取时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com