Программирование на языке высокого уровня. Марапулец Ю.В. - 124 стр.

UptoLike

Составители: 

Таблица 4.8
Операция Значение
int rdstate() возвращает текущее состояние потока;
int eof() возвращает ненулевое значение, если установлен флаг eofbit;
int fail() возвращает ненулевое значение, если установлен один из флагов
failbit, badbit или hardfail;
int bad () возвращает ненулевое значение, если установлен один из флагов
badbit или hardfail;
int good () возвращает ненулевое значение, если сброшены все флаги оши-
бок;
void clear(int = 0) параметр принимается в качестве состояния ошибки, при отсут-
ствии параметра состояние ошибки устанавливается 0;
operator void*() возвращает нулевой указатель, если установлен хотя бы один бит
ошибки;
operator ! () возвращает ненулевой указатель, если установлен хотя бы один
бит ошибки.
Можно также проверять ошибки в потоках, используя логические выражения:
if (cin >> x) // ввод успешный
{
}
if (!cout)
cerr<<"Ошибка!";
Данный способ возможен потому, что класс ios переопределяет следующие опера-
ции:
int operator ! ();
operator void* ();
Операция void*() преобразует поток в указатель, который будет нулевым, если ус-
тановлены failbit, badbit или hardfail.
Операция (!) возвращает ненулевое значение, если в потоке установлены биты fail-
bit, badbit или hardfail.
§ 4.2. Библиотеки ввода-вывода
4.2.1. Основная библиотека ввода-вывода
Одной из базовых динамических подключаемых библиотек является библиотека ввода -
вывода. Описание функций библиотеки содержится в файле stdio.h. В данном файле оп-
ределяется несколько типов и макросов, а также объявляются многочисленные функции,
полезные при работе с файлами и устройствами ввода-вывода. Рассмотрим состав
stdio.h. Функции:
clearer() - "сбрасывает" (очищает) индикаторы достижения конца файла и обнаружения
ошибки для файла, на который указывает поток (stream). Описание.
void clearer (FILE *stream);
fclose() - вызывает очистку потока, адресуемого указателем stream, и последующее за-
крытие соответствующего файла. При успешном закрытии потока возвращаемое значе-
124
                                                                           Таблица 4.8
      Операция                                       Значение
int rdstate()          возвращает текущее состояние потока;
int eof()              возвращает ненулевое значение, если установлен флаг eofbit;
int fail()             возвращает ненулевое значение, если установлен один из флагов
                       failbit, badbit или hardfail;
int bad ()             возвращает ненулевое значение, если установлен один из флагов
                       badbit или hardfail;
int good ()            возвращает ненулевое значение, если сброшены все флаги оши-
                       бок;
void clear(int = 0)    параметр принимается в качестве состояния ошибки, при отсут-
                       ствии параметра состояние ошибки устанавливается 0;
operator void*()       возвращает нулевой указатель, если установлен хотя бы один бит
                       ошибки;
operator ! ()          возвращает ненулевой указатель, если установлен хотя бы один
                       бит ошибки.

       Можно также проверять ошибки в потоках, используя логические выражения:
if (cin >> x) // ввод успешный
{
       …
}
if (!cout)
       cerr<<"Ошибка!";

       Данный способ возможен потому, что класс ios переопределяет следующие опера-
ции:

int operator ! ();
operator void* ();

       Операция void*() преобразует поток в указатель, который будет нулевым, если ус-
тановлены failbit, badbit или hardfail.
       Операция (!) возвращает ненулевое значение, если в потоке установлены биты fail-
bit, badbit или hardfail.

       § 4.2. Библиотеки ввода-вывода

       4.2.1. Основная библиотека ввода-вывода

Одной из базовых динамических подключаемых библиотек является библиотека ввода -
вывода. Описание функций библиотеки содержится в файле stdio.h. В данном файле оп-
ределяется несколько типов и макросов, а также объявляются многочисленные функции,
полезные при работе с файлами и устройствами ввода-вывода. Рассмотрим состав
stdio.h. Функции:

clearer() - "сбрасывает" (очищает) индикаторы достижения конца файла и обнаружения
ошибки для файла, на который указывает поток (stream). Описание.
       void clearer (FILE *stream);

fclose() - вызывает очистку потока, адресуемого указателем stream, и последующее за-
крытие соответствующего файла. При успешном закрытии потока возвращаемое значе-

                                          124