Пространства имён
Варианты
Действия

fail

Материал из cppreference.com
< cpp‎ | io

Синтаксис:

    bool stream::fail();

Функция fail() возвращат истину, если обнаружена ошибка в текущем потоке, иначе возвращает ложь. Функция может использоваться для проверки успешности предыдущей операции.

Примеры сбоев, для которых наначаются ошибки:

  • файл не найден (при открытии файла для чтения),
  • файл не может быть создан (при открытии файла для записи),
  • конец файла достигнут до завершения чтения запрошенных данных,
  • некорректный формат данных (например символы, при чтении чисел).

Заданное один раз, состояние ошибки будет переводить все остальные операции с потоком в состояние ошибки, пока состояние ошибки не будет сброшено с помощью функции сброса.

Смотрите также: bad, clear, eof, exceptions, good, rdstate

Состояния потока:

  • if (s): Предыдущая операция успешна (аналог !s.fail() ).
  • if (s.fail()): Предыдущая операция не удалась.
  • if (s.eof()): Произведена попытка чтения за границей файла.
  • if (s.bad()): Состояние потока не определено. Поток не может быть больше использован.
  • if (s.good()): Нет ни одного из состояний bad/eof/fail.