Spec-Zone.ru › C++

std::ostrstream

Определён в заголовочном файле <strstream>
class ostrstream : public std::ostream
(устарел в C++98)
(удалён в C++26)

Класс ostrstream реализует операции вывода в потоках с буфером на основе массива. По сути, он оборачивает реализацию устройства ввода-вывода на основе обычного массива (std::strstreambuf) в интерфейс более высокого уровня std::basic_ostream.

Типичная реализация ostrstream содержит только один нестатический член данных, не унаследованный от базового класса: объект типа std::strstreambuf.

Примечания

После любого вызова str() необходим вызов freeze(false), чтобы деструктор мог при необходимости освободить буфер.

Перед любым вызовом str(), использующим результат как строку C, буфер должен быть завершён нулевым символом, обычно с помощью std::ends.

ostrstream устарел начиная с C++98 и удалён начиная с C++26. Рекомендуется использовать вместо него std::ostringstream, std::ospanstream(начиная с C++23) и boost::iostreams::array_sink.

Функции-члены

(конструктор)
создаёт объект ostrstream, при необходимости выделяя буфер
(открытая функция-член)
(деструктор)
[виртуальный]
уничтожает объект ostrstream, при необходимости освобождая буфер
(открытая виртуальная функция-член)
rdbuf
получает указатель на связанный strstreambuf
(открытая функция-член)
str
получает доступ к выходному буферу
(открытая функция-член)
freeze
отключает/включает автоматическое перераспределение памяти
(открытая функция-член)
pcount
получает количество записанных символов
(открытая функция-член)

Унаследовано от std::basic_ostream

Функции-члены

Форматированный вывод
operator<<
вставляет форматированные данные
(открытая функция-член класса std::basic_ostream<CharT,Traits>)
Неформатированный вывод
put
вставляет символ
(открытая функция-член класса std::basic_ostream<CharT,Traits>)
write
вставляет блоки символов
(открытая функция-член класса std::basic_ostream<CharT,Traits>)
Позиционирование
tellp
возвращает указатель позиции вывода
(открытая функция-член класса std::basic_ostream<CharT,Traits>)
seekp
устанавливает указатель позиции вывода
(открытая функция-член класса std::basic_ostream<CharT,Traits>)
Разное
flush
синхронизирует данные с нижележащим устройством хранения
(открытая функция-член класса std::basic_ostream<CharT,Traits>)

Классы-члены

sentry
реализует базовую логику подготовки потока к операциям вывода
(открытый класс-член класса std::basic_ostream<CharT,Traits>)

Унаследовано от 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
[статическая]
возвращает уникальное в пределах программы целое число, которое можно безопасно использовать в качестве индекса для pword() и iword()
(открытая статическая функция-член класса std::ios_base)
iword
при необходимости изменяет размер закрытого хранилища и предоставляет доступ к элементу типа long с заданным индексом
(открытая функция-член класса std::ios_base)
pword
при необходимости изменяет размер закрытого хранилища и предоставляет доступ к элементу типа void* с заданным индексом
(открытая функция-член класса std::ios_base)
Разное
register_callback
регистрирует функцию обратного вызова события
(открытая функция-член класса std::ios_base)
sync_with_stdio
[статическая]
устанавливает, могут ли библиотеки ввода-вывода C++ и C взаимодействовать друг с другом
(открытая статическая функция-член класса std::ios_base)
Классы-члены
failure
исключение потока
(открытый класс-член класса std::ios_base)
Init
инициализирует стандартные объекты потоков
(открытый класс-член класса std::ios_base)

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

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

(псевдоним типа)
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

(псевдоним типа)
iostate
тип состояния потока

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

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

(псевдоним типа)
seekdir
тип направления перемещения

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

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

(псевдоним типа)
event
задаёт тип события
(перечисление)
event_callback
тип функции обратного вызова
(псевдоним типа)

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

Spec-Zone.ru

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