Spec-Zone.ru › C++

std::strstream

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

Класс strstream реализует операции ввода-вывода на потоках с поддержкой массивов. Он по сути обёрткой над низкоуровневой реализацией ввода-вывода массивов (std::strstreambuf) в высокоуровневый интерфейс std::basic_iostream.

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

Примечания

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

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

strstream устарело с C++98, std::stringstream и boost::iostreams::array являются рекомендуемыми заменителями.

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

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

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

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

Форматированный ввод
operator>>
извлекает форматированные данные
(публичная функция-член std::basic_istream<CharT,Traits>)
Неформатированный ввод
get
извлекает символы
(публичная функция-член std::basic_istream<CharT,Traits>)
peek
считывает следующий символ без извлечения
(публичная функция-член std::basic_istream<CharT,Traits>)
unget
возвращает символ в поток ввода
(публичная функция-член std::basic_istream<CharT,Traits>)
putback
помещает символ в поток ввода
(публичная функция-член std::basic_istream<CharT,Traits>)
getline
извлекает символы до тех пор, пока не найдётся заданный символ
(публичная функция-член std::basic_istream<CharT,Traits>)
ignore
извлекает и игнорирует символы до тех пор, пока не найдётся заданный символ
(публичная функция-член std::basic_istream<CharT,Traits>)
read
извлекает блоки символов
(публичная функция-член std::basic_istream<CharT,Traits>)
readsome
извлекает уже доступные блоки символов
(публичная функция-член std::basic_istream<CharT,Traits>)
gcount
возвращает количество извлечённых символов последней операцией неформатированного ввода
(публичная функция-член std::basic_istream<CharT,Traits>)
Позиционирование
tellg
возвращает указатель на позицию ввода
(публичная функция-член std::basic_istream<CharT,Traits>)
seekg
устанавливает указатель на позицию ввода
(публичная функция-член std::basic_istream<CharT,Traits>)
Разное
sync
синхронизирует с базовым устройством хранения
(публичная функция-член std::basic_istream<CharT,Traits>)

Вложенные классы

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

Наследуется от 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/strstream

Spec-Zone.ru

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