Spec-Zone.ru › C++

std::basic_ostringstream

Определено в заголовке <sstream>
template<
    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>
> class basic_ostringstream
    : public basic_ostream<CharT, Traits>;

Шаблон класса std::basic_ostringstream реализует операции вывода на основе строковых потоков. Он эффективно хранит экземпляр std::basic_string и выполняет операции вывода в него.

На низком уровне класс по существу оборачивает реализацию примитивного строкового устройства std::basic_stringbuf в интерфейс более высокого уровня std::basic_ostream. Предоставляется полный интерфейс к уникальным членам std::basic_stringbuf.

cpp/io/ios base cpp/io/basic ios cpp/io/basic ostreamstd-basic ostringstream-inheritance.svg

Схема наследования

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

Определено в заголовке <sstream>
Тип Определение
std::ostringstream std::basic_ostringstream<char>
std::wostringstream std::basic_ostringstream<wchar_t>

Типы членов

Тип члена Определение
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
allocator_type Allocator

Члены только для демонстрации

Имя Определение
sb используемый в качестве базового буфера std::basic_stringbuf<CharT, Traits, Allocator>
(объект-член только для демонстрации*)

Методы членов

(конструктор)
создает строковый поток
(публичный метод члена)
operator=
(C++11)
перемещает строковый поток
(публичный метод члена)
swap
(C++11)
меняет два строковых потока
(публичный метод члена)
rdbuf
возвращает объект базового примитивного строкового устройства
(публичный метод члена)
Операции со строками
str
получает или устанавливает содержимое базового объекта строкового устройства
(публичный метод члена)
view
(C++20)
получает представление содержимого базового объекта строкового устройства
(публичный метод члена)

Методы вне класса

std::swap(std::basic_ostringstream)
(C++11)
специализирует алгоритм std::swap
(шаблон функции)

Наследуется от 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)
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
указывает тип события
(перечисление)
event_callback
тип обратного вызова функции
(typedef)

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

Spec-Zone.ru

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