以下代码旨在连接用户输入的单词 .
#include <iostream>
#include <string>
int main() {
// insert code here...
std::string s;
std::string concString;
while (std::cin >> s)
{
concString = concString + s;
}
std::cout << concString << std::endl;
return 0;
}
我在执行期间陷入了这个while循环,因为我无法打印连接的字符串 . 如何退出此循环?什么是std :: cin的无效输入?
1 回答
通常,类似的循环由文件末尾停止,而不是无效输入 .
在* nix环境中,您通常可以使用CTRL d将文件结尾发送到终端,并在Windows控制台上将CTRL z发送到终端 .
见https://stackoverflow.com/a/16136924/1084944
但是,您可以实现自己的其他方式来表示输入结束 . 例如,让用户在完成后输入空白行,或单词
quit
等 . 一旦你选择了一个,你应该将它传达给用户,你将必须构建你的循环,以便能够检测这些条件并退出 .