Namespaces
Variants

std::basic_ios<CharT,Traits>:: operator!

From cppreference.net
bool operator ! ( ) const ;
**Примечание:** Весь представленный код состоит из HTML-разметки и C++ кода внутри тегов ` `. Согласно инструкциям: - HTML теги и атрибуты не переведены - Текст внутри тегов ` ` с классами, относящимися к C++ (mw-geshi cpp source-cpp), не переведен - C++ специфические термины (bool, operator, const) сохранены без изменений Код представляет собой объявление перегруженного оператора логического НЕ в C++.

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

Содержание

Параметры

(нет)

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

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

Пример

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::ifstream file("test.txt");
    if (!file) // operator! is used here
    {  
        std::cout << "Ошибка открытия файла\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 << "Ошибка ввода-вывода при чтении\n";
    else if (file.eof())
        std::cout << "Конец файла успешно достигнут\n";
    else if (file.fail())
        std::cout << "Обнаружены нечисловые данные\n";
}

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

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

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