Spec-Zone.ru › C++

std::basic_ostream

Определено в заголовочном файле <ostream>
template< 
    class CharT, 
    class Traits = std::char_traits<CharT>
> class basic_ostream : virtual public std::basic_ios<CharT, Traits>

Шаблон класса basic_ostream обеспечивает поддержку операций вывода высокого уровня для потоков символов. Поддерживаемые операции включают форматированный вывод (например, целочисленные значения) и неформатированный вывод (например, исходные символы и массивы символов). Данная функциональность реализуется на основе интерфейса, предоставляемого классом basic_streambuf, доступного через базовый класс basic_ios. В типичных реализациях у basic_ostream нет членов данных, не унаследованных от базового класса.

cpp/io/ios base cpp/io/basic iosstd-basic ostream-inheritance.svg

Диаграмма наследования

Предоставляются несколько определений типов для общих типов символов:

Определено в заголовочном файле <ostream>
Тип Определение
std::ostream std::basic_ostream<char>
std::wostream std::basic_ostream<wchar_t>

Глобальные объекты

Библиотека стандартной библиотеки предоставляет шесть глобальных объектов basic_ostream.

Определено в заголовочном файле <iostream>
coutwcout
записывает в стандартный поток вывода C stdout.
(глобальный объект)
cerrwcerr
записывает в стандартный поток ошибок C stderr, небуферизованный.
(глобальный объект)
clogwclog
записывает в стандартный поток ошибок C stderr.
(глобальный объект)

Типы членов

Тип члена Определение
char_type CharT
traits_type Traits; программа является некорректной, если Traits::char_type не является CharT.
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Члены-функции

(конструктор)
создает объект
(публичная функция-член)
(деструктор)
[виртуальный]
уничтожает объект
(виртуальная публичная функция-член)
operator=
(C++11)
выполняет перемещающее присваивание из другого объекта basic_ostream
(защищенная функция-член)
Форматированный вывод
operator<<
вставляет форматированные данные
(публичная функция-член)
Неформатированный вывод
put
вставляет символ
(публичная функция-член)
write
вставляет блоки символов
(публичная функция-член)
Позиционирование
tellp
возвращает индикатор позиции вывода
(публичная функция-член)
seekp
устанавливает индикатор позиции вывода
(публичная функция-член)
Разное
flush
синхронизирует поток с подлежащим устройством хранения
(публичная функция-член)
swap
(C++11)
меняет местами объекты потока, за исключением связанного буфера
(защищенная функция-член)

Члены-классы

sentry
реализует основную логику подготовки потока к операциям вывода
(публичный член-класс)

Функции вне класса

operator<<(std::basic_ostream)
вставляет символьные данные или вставляет в поток ссылочного значения
(шаблон функции)
print(std::ostream)
(C++23)
выводит форматированное представление аргументов
(шаблон функции)
println(std::ostream)
(C++23)
выводит форматированное представление аргументов с добавленным '\n'
(шаблон функции)
vprint_unicode(std::ostream)
(C++23)
выполняет вывод с учетом Unicode, используя представление аргументов с типом-удалением
(функция)
vprint_nonunicode(std::ostream)
(C++23)
выводит данные символов, используя представление аргументов с типом-удалением
(функция)
END_OF_DOCUMENT_MARKER

Наследуется от std::basic_ios

Типы членов

Тип члена Определение
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Члены-функции

Функции состояния
good
проверяет, не произошла ли ошибка, т.е. доступны операции ввода/вывода
(общедоступная функция-член std::basic_ios<CharT,Traits>)
eof
проверяет, достигнут ли конец файла
(общедоступная функция-член std::basic_ios<CharT,Traits>)
fail
проверяет, произошла ли ошибка
(общедоступная функция-член std::basic_ios<CharT,Traits>)
bad
проверяет, произошла ли неисправимая ошибка
(общедоступная функция-член std::basic_ios<CharT,Traits>)
operator!
проверяет, произошла ли ошибка (синоним fail())
(общедоступная функция-член std::basic_ios<CharT,Traits>)
operator bool
проверяет, не произошла ли ошибка (синоним !fail())
(общедоступная функция-член std::basic_ios<CharT,Traits>)
rdstate
возвращает флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
setstate
устанавливает флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
clear
изменяет флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
Форматирование
copyfmt
копирует информацию о форматировании
(общедоступная функция-член std::basic_ios<CharT,Traits>)
fill
управляет символом заполнения
(общедоступная функция-член std::basic_ios<CharT,Traits>)
Разное
exceptions
управляет маской исключений
(общедоступная функция-член std::basic_ios<CharT,Traits>)
imbue
устанавливает локаль
(общедоступная функция-член std::basic_ios<CharT,Traits>)
rdbuf
управляет связанным буфером потока
(общедоступная функция-член std::basic_ios<CharT,Traits>)
tie
управляет связанным потоком
(общедоступная функция-член std::basic_ios<CharT,Traits>)
narrow
сужает символы
(общедоступная функция-член std::basic_ios<CharT,Traits>)
widen
расширяет символы
(общедоступная функция-член std::basic_ios<CharT,Traits>)

Наследуется от std::ios_base

Члены-функции

Форматирование
flags
управляет флагами формата
(общедоступная функция-член std::ios_base)
setf
устанавливает определённый флаг формата
(общедоступная функция-член std::ios_base)
unsetf
сбрасывает определённый флаг формата
(общедоступная функция-член std::ios_base)
precision
управляет десятичной точностью операций с плавающей точкой
(общедоступная функция-член std::ios_base)
width
управляет шириной поля
(общедоступная функция-член std::ios_base)
Локали
imbue
устанавливает локаль
(общедоступная функция-член std::ios_base)
getloc
возвращает текущую локаль
(общедоступная функция-член std::ios_base)
Внутренний расширяемый массив
xalloc
[static]
возвращает уникальный целочисленный идентификатор, пригодный для использования в качестве индекса для pword() и iword()
(общедоступная статическая функция-член std::ios_base)
iword
при необходимости увеличивает размер частного хранилища и предоставляет доступ к элементу типа long по указанному индексу
(общедоступная функция-член std::ios_base)
pword
при необходимости увеличивает размер частного хранилища и предоставляет доступ к элементу типа void* по указанному индексу
(общедоступная функция-член std::ios_base)
Разное
register_callback
регистрирует функцию обратного вызова события
(общедоступная функция-член std::ios_base)
sync_with_stdio
[static]
устанавливает, будут ли C++ и C библиотеки ввода/вывода взаимодействовать
(общедоступная статическая функция-член std::ios_base)
Вложенные классы
failure
исключение потока
(общедоступный вложенный класс std::ios_base)
Init
инициализирует стандартные объекты потоков
(общедоступный вложенный класс std::ios_base)
END_OF_DOCUMENT_MARKER

Типы и константы членов

Тип Объяснение
openmode
тип режима открытия потока

Также определены следующие константы:

Константа Объяснение
app перейти к концу потока перед каждым записью
binary открыть в двоичном режиме
in открыть для чтения
out открыть для записи
trunc удалить содержимое потока при открытии
ate перейти к концу потока сразу после открытия
noreplace (C++23) открыть в эксклюзивном режиме

(typedef)
fmtflags
тип флагов форматирования

Также определены следующие константы:

Константа Объяснение
dec использовать десятичную систему счисления для целочисленного ввода/вывода: см. std::dec
oct использовать восьмеричную систему счисления для целочисленного ввода/вывода: см. std::oct
hex использовать шестнадцатеричную систему счисления для целочисленного ввода/вывода: см. std::hex
basefield dec | oct | hex. Полезно для операций маскирования
left выравнивание влево (добавляет символы заполнения справа): см. std::left
right выравнивание вправо (добавляет символы заполнения слева): см. std::right
internal внутреннее выравнивание (добавляет символы заполнения во внутреннюю выделенную точку): см. std::internal
adjustfield left | right | internal. Полезно для операций маскирования
scientific генерировать типы с плавающей точкой в экспоненциальной записи, или шестнадцатеричной, если комбинировано с fixed: см. std::scientific
fixed генерировать типы с плавающей точкой в фиксированной записи, или шестнадцатеричной, если комбинировано с scientific: см. std::fixed
floatfield scientific | fixed. Полезно для операций маскирования
boolalpha вставить и извлечь тип bool в алфавитно-цифровом формате: см. std::boolalpha
showbase генерировать префикс, указывающий на систему счисления для целочисленного вывода, требует индикатор валюты в денежном вводе/выводе: см. std::showbase
showpoint генерировать символ десятичной точки безусловно для вывода чисел с плавающей точкой: см. std::showpoint
showpos генерировать символ + для неотрицательных числовых выводов: см. std::showpos
skipws пропускать начальные пробелы перед некоторыми операциями ввода: см. std::skipws
unitbuf выполнить сброс вывода после каждой операции вывода: см. std::unitbuf
uppercase заменить некоторые строчные буквы на их заглавные эквиваленты в некоторых операциях вывода: см. std::uppercase

(typedef)
iostate
тип состояния потока

Также определены следующие константы:

Константа Объяснение
goodbit нет ошибок
badbit неисправимая ошибка потока
failbit операция ввода/вывода завершилась неудачно (ошибка форматирования или извлечения)
eofbit связанная последовательность ввода достигла конца файла

(typedef)
seekdir
тип направления поиска

Также определены следующие константы:

Константа Объяснение
beg начало потока
end конец потока
cur текущая позиция указателя позиции потока

(typedef)
event
указывает тип события
(enum)
event_callback
тип обратного вызова функции
(typedef)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_ostream

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API