c++ - 将 cin 限制为只有一个
问题描述
我试图找到一种方法来将我的输入类型限制为只有游戏 Hangman 中的一种,而不使用 LetterFill。刽子手工作完美,当您输入超过 1 个字符(例如 ABC)时,它会接受并输入 1 比 1,但我的教授说它应该只输入 1 个字符,如果有超过 1 个字符,它将消除/忽略其他字母知道怎么做吗?
代码:
char x;
cin >> x;
if (guesses.find(x) == string::npos)
guesses += x;
解决方案
解决方案可能是忽略所有其余部分,直到行尾,例如:
char x;
cin >> x;
cin.ignore(256,'\n');
其他解决方案(适用于无限大小)
char x;
cin >> x;
while(cin.peek() != '\n')
cin.ignore();
推荐阅读
- matlab - 如何将 ABM 模型从 MATLAB 转换为 NetLogo?
- angular - 如何在 ionic 4 中添加/导入/安装 Gesture?
- php - 如何在第一页内插入 mpdf TOC?
- javascript - 如何在 Jquery 下一个方法中附加 Html
- python - 如何在tensorflow中显示训练进度条?
- tidb - PD 组件是否有任何身份验证方法来限制 Spark 可以访问的数据库?
- android - RxJava Observable.just 与 Observable.fromCallable 有什么区别?
- jenkins - Jenkins Scan Multibranch Pipeline 停止检测开发分支
- apache-kafka - 什么,Kafka交互式查询在哪里使用
- nativescript - Nativescript Vue:有没有办法在非按钮元素上使用突出显示或活动的伪选择器?