我正在编写一个程序,此时只接受int用于用户输入,如果不是,则继续询问用户,直到得到正确的整数。以下是代码:
cout << "enter two integers: " << endl;
string input1, input2;
cin >> input1;
cin >> input2;
while (//if they are not integers)
...//ask again
正如您所看到的,我使用字符串来存储输入,但我不知道如何检查此字符串只包含整数。
答案 0 :(得分:1)
cout << "enter two integers: " << endl;
int input1, input2;
cin >> input1;
cin >> input2;
while (!cin.good())
{
cin.clear();
cin.ignore(INT_MAX, '\n')
...//ask again
}
答案 1 :(得分:1)
你根本不应该使用string
。
int input1, input2;
cin >> input1;
然后您可以检查cin
是否失败
if (!cin) {
// input was not an integer ask again
}