ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 12) онлайн

Биты статуса ошибки

Флаги статуса ошибок потоков определяют компонент ios enum, который сообщает

об ошибках, произошедших в операциях ввода/вывода. Все эти флаги собраны в

табл. 12.8. Рисунок 12.3 показывает, как они выглядят. Для чтения (и даже установ-

ки) флагов могут использоваться различные функции ios, как показано в табл. 12.9.

Таблица 12.8. Флаги статуса ошибок

Название           Значение

goodbit                Ошибок нет (флаги не установлены, значение =0)

eofbit   Достигнут конец файла

 

Таблица 12.8 (продолжение)

Название           Значение

failbit    Операция не выполнена (пользовательская ошибка, преждевременный EOF)

badbit   Недопустимая операция (нет ассоциированного streambuf)

hardfail                Неисправимая ошибка

Таблица 12.9. Функции для флагов ошибок

Функция             Назначение

int=eof();            Возвращает true, если установлен флаг EOF

int=fail();             Возвращает true, если установлены флаги failbit, badbit или hardfail

int=bad();           Возвращает true, если установлены флаги badbit или hardfail

int=good();        Возвращает true, если ошибки не было

clear(int=0);       При использовании без аргумента снимает все флаги ошибок, в противном  случае устанавливает указанный флаг, например clear(ios::failbit)

Рис. 12.3. Флаги состояния потока

 

 

12