Я пытаюсь реализовать проверку ввода в моем коде.
Я использую .ignore()
, а также .clear()
.
Ввод отклонен, как и должно быть, когда есть что-то еще, кроме число на переднем крае ввода, но если т. е. на входе «12d».
Программа не распознает это как присущую ошибку (хотя в теории это должно быть).
Как я go могу решить эту проблему?
cin >> temp;
if (cin.fail())
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),13);
cout << "Wrong input format, try again: ";
}
else if (!cin.fail())
{
break;
}
Заранее спасибо!