Потоки вывода

Объект потока вывода является местом назначения для байтов. Три наиболее важных класса потока вывода — ostream, ofstream, и ostringstream.

Класс ostream с помощью производного класса basic_ostream поддерживает стандартные объекты потока:

  • cout стандартный вывод;

  • cerr стандартные ошибки с ограниченным буфером;

  • clog аналогично cerr, но с полной буферизацией.

Объекты редко создаются из ostream; обычно используются предопределенные объекты. В некоторых случаях можно переназначить предопределенные объекты после запуска программы. Класс ostream, который можно настроить для работы с буфером или без, наилучшим образом подходит для последовательного текстового вывода. Все функции базового класса, ios, включены в ostream. При построении объекта класса ostream конструктору необходимо указать объект streambuf.

Класс ofstream поддерживает вывод в файл на диске. Если вам требуется диск только для вывода, создайте объект класса ofstream. Можно указать, будут ли объекты ofstream принимать двоичные или текстовые данные при создании объекта ofstream или при вызове функции-члена open для объекта. Многие параметры форматирования и функции-члены применяются к объектам ofstream. Включается вся функциональность базовых классов ios и ostream.

Если в конструкторе указать имя файла, этот файл автоматически открывается при создании объекта. В противном случае можно использовать функцию-член open после вызова конструктора по умолчанию.

Подобно функции времени выполнения sprintf_s, класс ostringstream поддерживает вывод в строки в памяти. Чтобы создать строку в памяти с помощью форматирования потока ввода-вывода, создайте объект класса ostringstream.

В этом разделе

Построение объектов потока вывода

Использование операторов вставки и управление форматом

Функции-члены потока выходного файла

Эффекты буферизации

Двоичные выходные файлы

Перегрузка << оператора для собственных классов

Создание собственных манипуляторов без аргументов

См. также

ofstream
ostringstream
iostream Программирования