问题全部在标题中。 我正在制作一个计算器,显然我需要输入。我使用cin>>功能,但我想知道是否有办法测试输入,以确定它是否是一个数字。 如果我输入的不是数字,程序就会崩溃。有内置函数/运算符吗?请帮忙!
答案 0 :(得分:3)
如果输入 是一个数字,输入操作符将只读取整数。否则它会将字符留在输入缓冲区中。
尝试这样的事情
int i;
if (cin >> i)
{
// input was a number
}
else
{
// input failed
}
答案 1 :(得分:0)
atoi
和sscanf
是您的朋友,或者只是比较输入的字码是否在" 0" - " 9"范围