Состояние потока
Состояние объекта класса ios (и производных от него) содержится в его закрытом элементе _state в виде набора битов. Следующая таблица перечисляет имеющиеся биты состояния потока.
Таблица 9.4. Биты состояния потока
Бит |
Описание |
||
goodbit | С потоком все в порядке (на самом деле это не какой-то бит, а 0 — отсутствие битов ошибки). | ||
eofbit | Показывает, что достигнут конец файла. | ||
failbit | Индицирует ошибку формата или преобразования. После очистки данного бита работа с потоком может быть продолжена. |
| |
badbit | Индицирует серьезную ошибку потока, связанную обычно с буферными операциями или аппаратурой. Скорее всего, поток далее использовать невозможно. |
Для опроса или изменения состояния потока в классе ios имеется ряд функций и операций.
-
bool fail () ; Возвращает true, если установлен failbit или bad-bit.
Функция operator void*() неявно вызывается, если поток сравнивается с нулем (как cin в примере из листинга),