c++ - 如何在循环中表示不再输入字符串 ss while (cin >> ss)

标签 c++ file-io cin eof

我使用“cin”从输入流中读取单词,比如

int main( ){
     string word;
     while (cin >> word){
         //do sth on the input word
     }

    // perform some other operations
}

代码结构与上述类似。它是可编译的。在执行过程中,我不断输入类似

aa bb cc dd

我的问题是如何结束这个输入?换句话说,假设文本文件只是“aa bb cc dd”。但是不知道怎么让程序知道文件结束了。

最佳答案

您的代码是正确的。如果您是交互式输入,则需要发送 EOF 字符,例如 CTRL-D。

读取文件时不需要此 EOF 字符。这是因为一旦你到达输入流的末尾,就没有任何东西可以“cin”了(因为流现在已经关闭了),因此 while 循环退出了。

关于c++ - 如何在循环中表示不再输入字符串 ss while (cin >> ss),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360129/

相关文章:

c++ - 如何编写使用迭代器和特定类型的模板函数

c++ - 如何在 C++ 中为随机迷宫创建单元格或网格?

c++ - 包含拇指小部件的 slider 小部件的相对坐标

c++ - 如何在C++中一个一个地调用目录中的txt文件

javascript - OS.File 在 OS.read 之前检查最后修改日期

c++ - stdcall 被 visual studio 覆盖了吗?

android - 删除文件后,FileOutputStream 写入不会引发异常吗?

C++ freopen 2个文件错误

c++ - 诠释还在工作吗?

C++如何检查Shell输入的数量