Namespaces
Variants

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

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

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

См. ios_base::iostate для списка условий, которые устанавливают 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!
ложь ложь ложь истина ложь ложь ложь истина ложь
ложь ложь истина ложь истина истина ложь ложь истина
ложь истина ложь ложь истина ложь ложь ложь истина
ложь истина истина ложь истина истина ложь ложь истина
истина ложь ложь ложь ложь ложь истина истина ложь
истина ложь истина ложь истина истина истина ложь истина
истина истина ложь ложь истина ложь истина ложь истина
истина истина истина ложь истина истина истина ложь истина