我的程序包含一个简单的输入代码:
int number;
std::cin >> number;
当然,如果用户输入3.14,则只会读取“3”。对于一般的进一步代码来说这没关系,但我希望将这种输入标记为无效并提示用户再次尝试使用正确的整数。
有没有办法检查int之后是否输入了什么?
答案 0 :(得分:0)
我建议将输入作为字符串然后解析它。 例如:
string s;
std::cin >> s;
写一些函数来检查输入。
例如:'0'<=s[i]<='9'
你甚至可以使用正则表达式。
更新的
正如 5gon12eder 所说:你有相同的std::stoi
功能。如果它是有效整数,它会将字符串转换为int。否则会引发异常invalid_argument
。