C++ 文本文件重定向 getline 无限循环

标签 c++ infinite-loop cin getline

所以我在使用 cin 读取文本文件时遇到了问题。这是我的代码的基本思想:

while(getline(cin,line) {
cout << line << endl;
}
//Do some task
return 0;

我遇到的问题是循环不会终止并且//Do some task 永远不会运行。我找到的唯一解决方案是直接查看文本文件,看看有多少行文本,然后硬编码一个条件来中断它。所以说我有一个包含 5 行和一个可变 int 行的文本文件。然后我会做这样的事情:

  while(getline(cin,line) {
cout << line << endl;
if(row == 5) {
break;
}
//Do some task
return 0;

我试过谷歌搜索,但我似乎无法在任何地方找到答案。有任何想法吗?而且只有我被允许使用的库是 iostream。

最佳答案

你可以使用 rdbuf 来重定向你的 cin 输出 以下链接将为您提供帮助。 http://www.cplusplus.com/reference/ios/ios/rdbuf/

关于C++ 文本文件重定向 getline 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46167999/

相关文章:

C++ 检查 cin 的输入是否有正确的数据

c++ - 在哪里可以找到++ 运算符的实现?

c++ - 快速排序无限循环数值食谱

c++ - 用一串命令预加载 cin

java - while循环和线程的无限循环问题

python - 键盘中断不会停止我的翻译

C++ cin.getline 只读取一个字符

c++ - 使用自定义凭据提供程序的远程桌面连接

c++ - 在动态数组上实现自己的快速排序

c++ - 扫雷,我怎么知道有多少个0挨着?