<分区>
我正在制作一款 C++ 游戏,有一次用户必须输入一个整数。如果玩家输入一个字符,游戏就会出现故障。
我不想弄清楚这个故障是什么,我只想感知玩家是否输入了一个字符并从那里解决。
标签 c++ validation
<分区>
我正在制作一款 C++ 游戏,有一次用户必须输入一个整数。如果玩家输入一个字符,游戏就会出现故障。
我不想弄清楚这个故障是什么,我只想感知玩家是否输入了一个字符并从那里解决。
最佳答案
如果是用cin获取输入,最简单的方案如下:
int input;
cin >> input;
if (!cin)
//handle char not being an int
//continue
这背后的技巧是,如果 cin 无法将输入转换为正确的类型,它实际上会进入失败状态。但是,根据您的游戏的运行方式和输入的上下文,这可能还不够。显然,如果您不使用 cin,则必须检查您使用的流是否具有相同的行为。
关于C++ 感知字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18364383/