Шаг 457.
Библиотека STL. Ввод-вывод с использованием потоковых классов. Общие сведения о потоках ввода-вывода. Глобальные потоковые объекты
На этом шаге мы приведем общие сведения о глобальных потоковых объектах.
В библиотеке IOStream определено несколько глобальных объектов типов istream и ostream.
Эти объекты соответствуют стандартным каналам ввода-вывода.
- Объект cin (класс istream) представляет стандартный входной канал, используемый для ввода
пользовательских данных. Он соответствует потоку данных stdin в языке С. Обычно операционная
система связывает этот канал с клавиатурой.
- Объект cout (класс ostream) представляет стандартный выходной канал, предназначенный для
вывода результатов работы программы. Он соответствует потоку данных stdout в языке С. Обычно
операционная система связывает этот канал с монитором.
- Объект cerr (класс ostream) представляет стандартный канал, предназначенный для вывода
всевозможных сообщений об ошибках. Он соответствует потоку данных stderr в языке С.
Обычно операционная система также связывает этот канал с монитором. По умолчанию вывод в cerr не
буферизуется.
- Объект clog (класс ostream) представляет стандартный канал для регистрации данных и не имеет
аналогов в языке С. По умолчанию этот поток данных связывается с тем же приемником, что и cerr,
но вывод в clog буферизуется.
Отделение "нормального" вывода от сообщений об ошибках позволяет по-разному обойтись с этими двумя
категориями потоков данных при выполнении программы. Например, нормальный вывод программы можно
перенаправить в файл, тогда как сообщения об ошибках будут выводиться на консоль, Конечно, для этого
операционная система должна поддерживать перенаправление стандартных каналов ввода-вывода (впрочем, в
большинстве операционных систем такая возможность существует). Разделение стандартных каналов берет свое начало
в механизме перенаправления ввода-вывода системы UNIX.
На следующем шаге мы рассмотрим потоковые операторы.
Предыдущий шаг
Содержание
Следующий шаг