首页 > 代码库 > 对于 while(std::cin >> word) 的终止------一个小问题

对于 while(std::cin >> word) 的终止------一个小问题

还是在 C++ 吧里的问题, 有人问怎样终止形如 while(std::cin >>word){/* do something */} 的情况, 除了用 Ctrl +C.

我原以为下面定是一群人回答 Ctrl + Z, 结果还是我一厢情愿, 不少人还说那是个死循环, 非要加个条件 break 出去才能得救, 像这样的就应该拖下去用 C++ primer 砸死......当然, 我也连个小牛都不是, 所以我试验了一下, 额, 是在 win8.1 Pro 环境下用的 VC++ 12.0 编译器, 结果是这样的:

我在哪看过一个说法, 说是在命令行输入时, 空格, 制表符和回车都可以用来中断输入字符, 所以我就用了最笨的方法:

输入一段字符后+Ctrl+Z

输入一段字符后, 空格, Ctrl+Z

输入一段字符后, 制表符, Ctrl+Z

......

最后发现唯一可行的是 输入一段字符后, 回车, Ctrl+Z.

当然, 只知其然不知其所以然不像是我做的事, 所以在看了 一位朋友的博客 之后, 才了解了其中的细节.

以上.

对于 while(std::cin >> word) 的终止------一个小问题