Ошибка разбора в строковом потоке в C++
Состояние fail включается, когда
оператор >> не смог прочитать
значение ожидаемого типа.
Проверяют его методом fail на
самом потоке, не бросая исключений. Запишем
поток с буквами вместо числа, попробуем
извлечь int и выведем признак
ошибки:
#include <sstream>
std::istringstream input("xy");
int value = 0;
input >> value;
std::cout << input.fail() << "\n";
Попытайтесь прочитать int из
"no". Выведите 1, если
fail истинен, иначе 0.