【发布时间】:2015-02-16 01:56:18
【问题描述】:
C++ 新手 - 尝试检查输入格式。什么都试过了,无计可施。任何帮助,将不胜感激。我已将我的问题分解为这个基本案例:
while(1) {
cin >> x;
cout << "asked!" << endl;
cin.ignore(1000, 'n');
}
会导致“问!”的无限循环。在第一个无效输入之后(为 x 输入 not int)。我想处理不正确的输入。以下将不起作用:
do {
cin.clear();
cin >> x >> y;
if (cin.fail())
{
cout << "Invalid input." << endl;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
} while (cin.fail());
【问题讨论】:
标签: c++ buffer cin typechecking