Шаг 478.
Библиотека STL. Ввод-вывод с использованием потоковых классов. Стандартные функции ввода-вывода (общие сведения)

    На этом шаге мы приведем общие сведения о стандартных функциях ввода-вывода.

    Вместо стандартных операторов >> и << для чтения из потока данных и записи в поток данных можно использовать ряд других функций, представленных в этом разделе.

    Эти функции предназначены для чтения и записи "неформатированных" данных (в отличие от операторов << и >>, которые читают и записывают "форматированные" данные). Функции при чтении никогда не игнорируют начальные пропуски (в отличие от операторов, которые по умолчанию начальные пропуски игнорируют). Кроме того, в них используется другой принцип обработки исключений: флаг badbit устанавливается, если функция генерирует исключение, причем не важно, кто является источником исключения - сама вызванная функция или исключение генерируется в результате установки флага состояния. Если в маске исключений установлен флаг badbit, исключение передается дальше. Тем не менее функции неформатированного вывода, как и функции форматированного вывода, создают объект sentry.

    Для передачи количества символов в этих функциях используется тип streamsize:

  namespace std {
    typedef ... streamsize;
    .    .   .   .   .
  }

    Тип streamsize обычно представляет собой знаковую версию size_t. Тип является знаковым, потому что он также используется для передачи отрицательных значений.

    На следующем шаге мы рассмотрим функции ввода.




Предыдущий шаг Содержание Следующий шаг