Шаг 464.
Библиотека STL. Ввод-вывод с использованием потоковых классов. Основные потоковые классы и объекты. Глобальные потоковые объекты

    На этом шаге мы перечислим глобальные потоковые объекты.

    Для потоковых классов определен ряд глобальных потоковых объектов, предназначенных для работы со стандартными каналами ввода-вывода (таблица 1). Эти объекты упоминались в предыдущих шагах при описании потоков данных с типом символов char, однако аналогичные объекты также определены для потоков данных с типом символов wchar_t.

Таблица 1. Глобальные потоковые объекты
Тип Имя Назначение
istream cin Читает данные из стандартного канала ввода
ostream cout Записывает "нормальные" данные в стандартный канал вывода
ostream cerr Записывает сообщения об ошибках в стандартный канал вывода ошибок
ostream clog Записывает журнальные данные в стандартный канал вывода журнала
wistream wcin Читает данные с расширенной кодировкой символов из стандартного канала ввода
wostream wcout Записывает "нормальные" данные с расширенной кодировкой символов в стандартный канал вывода
wostream wcerr Записывает сообщения об ошибках с расширенной кодировкой символов в стандартный канал вывода ошибок
wostream wclog Записывает журнальные данные с расширенной кодировкой символов в стандартный канал вывода журнала

    По умолчанию эти стандартные потоки данных синхронизируются со стандартными потоками данных С. Иначе говоря, стандартная библиотека C++ гарантирует сохранение порядка вывода при смешанном использовании потоков данных С и C++. Перед выводом все буферы стандартных потоков данных C++ очищают буферы соответствующих потоков данных С, и наоборот. Разумеется, синхронизация требует дополнительного времени. Если она не нужна, отключите ее вызовом sync_with_stdio(false) перед первой операцией ввода-вывода.

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




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