Spec-Zone.ru › C++

std::ostrstream

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

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

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

Примечания

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

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

ostrstream устарело с C++98. std::ostringstream и 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
[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)

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

Тип Объяснение
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
определяет тип события
(перечисление)
event_callback
тип обратной функции
(typedef)

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

Spec-Zone.ru

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