首页 文章

std :: cin的输入无效

提问于
浏览
0

以下代码旨在连接用户输入的单词 .

#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 回答

  • 0

    通常,类似的循环由文件末尾停止,而不是无效输入 .

    在* nix环境中,您通常可以使用CTRL d将文件结尾发送到终端,并在Windows控制台上将CTRL z发送到终端 .

    https://stackoverflow.com/a/16136924/1084944

    但是,您可以实现自己的其他方式来表示输入结束 . 例如,让用户在完成后输入空白行,或单词 quit 等 . 一旦你选择了一个,你应该将它传达给用户,你将必须构建你的循环,以便能够检测这些条件并退出 .

相关问题