Namespaces
Variants

std::basic_ios<CharT,Traits>:: fail

From cppreference.net
bool fail ( ) const ;
**Примечание:** В данном фрагменте HTML-кода весь текст внутри тегов ` ` представляет собой C++ код, который согласно инструкциям не подлежит переводу. Внешний текст для перевода отсутствует.

Возвращает true если на связанном потоке произошла ошибка. В частности, возвращает true если badbit или failbit установлены в rdstate() .

См. ios_base::iostate для списка условий, которые устанавливают failbit или badbit .

Содержание

Параметры

(нет)

Возвращаемое значение

true если произошла ошибка, false в противном случае.

Пример

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::ifstream file("test.txt");
    if (!file) // operator! is used here
    {  
        std::cout << "File opening failed\n";
        return EXIT_FAILURE;
    }
    // typical C++ I/O loop uses the return value of the I/O function
    // as the loop controlling condition, operator bool() is used here
    for (int n; file >> n;)
       std::cout << n << ' ';
    std::cout << '\n';
    if (file.bad())
        std::cout << "I/O error while reading\n";
    else if (file.eof())
        std::cout << "End of file reached successfully\n";
    else if (file.fail())
        std::cout << "Non-integer data encountered\n";
}

Смотрите также

Следующая таблица показывает значения basic_ios аксессоров ( good() , fail() и др.) для всех возможных комбинаций ios_base::iostate флагов:

**Примечание:** В данном фрагменте HTML все текстовые элементы внутри тегов ` `, ` ` и ` ` являются C++ специфическими терминами (флаги состояния потока и методы класса), которые согласно требованиям не подлежат переводу. HTML структура и атрибуты сохранены без изменений.
ios_base::iostate флаги basic_ios аксессоры
eofbit failbit badbit good() fail() bad() eof() operator bool operator!
ложь ложь ложь истина ложь ложь ложь истина ложь
ложь ложь истина ложь истина истина ложь ложь истина
ложь истина ложь ложь истина ложь ложь ложь истина
ложь истина истина ложь истина истина ложь ложь истина
истина ложь ложь ложь ложь ложь истина истина ложь
истина ложь истина ложь истина истина истина ложь истина
истина истина ложь ложь истина ложь истина ложь истина
истина истина истина ложь истина истина истина ложь истина
проверяет наличие ошибки файла
(функция)