首页 > 解决方案 > 将 cin 限制为只有一个

问题描述

我试图找到一种方法来将我的输入类型限制为只有游戏 Hangman 中的一种,而不使用 LetterFill。刽子手工作完美,当您输入超过 1 个字符(例如 ABC)时,它会接受并输入 1 比 1,但我的教授说它应该只输入 1 个字符,如果有超过 1 个字符,它将消除/忽略其他字母知道怎么做吗?

代码:

    char x;
    cin >> x;
    if (guesses.find(x) == string::npos)
        guesses += x;

标签: c++visual-studio

解决方案


解决方案可能是忽略所有其余部分,直到行尾,例如:

char x;
cin >> x;
cin.ignore(256,'\n');

其他解决方案(适用于无限大小)

char x;
cin >> x;
while(cin.peek() != '\n')
   cin.ignore();

推荐阅读