На этом шаге мы рассмотрим некоторые функции вывода в поток.
В следующих определениях ostream обозначает потоковый класс, используемый для записи. Это может быть класс ostream, wostream или любая другая специализация класса шаблона basic_ostream. Параметр char обозначает соответствующий тип символов (char для ostream, wchar_t для wostream). Другие типы и значения, выводимые курсивом, зависят от определения типа символов или класса трактовок, связанного с потоком данных.
ostream& ostream::put (char с)
ostream& ostream::write (const char* str, streamsize count)
Символ завершения строки не останавливает запись и выводится вместе с остальными символами.
Перед вызовом необходимо убедиться в том, что str содержит не менее count символов, иначе вызов приводит к непредсказуемым последствиям.
ostream& ostream::flush ()
Функции tellp() и seekp() предназначены для изменения текущей позиции записи. В основном оии используются при работе с файлами, поэтому их описание мы дадим позднее.
По аналогии с функциями ввода иногда бывает удобно работать с потоковым буфером напрямую или воспользоваться шаблонным классом ostreambuf_iterator для неформатированного вывода. Функции неформатированного вывода не дают особых преимуществ, если не считать того, что они могут обеспечивать синхронизацию в многопоточных средах с использованием объектов sentry.
На следующем шаге мы рассмотрим пример использования некоторых из перечисленных функций.