Spec-Zone.ru › C++

std::basic_istringstream

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

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

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

cpp/io/ios base cpp/io/basic ios cpp/io/basic istreamstd-basic istringstream-inheritance.svg

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

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

Определено в заголовке <sstream>
Тип Определение
std::istringstream std::basic_istringstream<char>
std::wistringstream std::basic_istringstream<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_istringstream)
(C++11)
специализирует алгоритм std::swap
(шаблон функции)
END_OF_DOCUMENT_MARKER

Наследуется от 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_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) открыть в режиме исключения

(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_istringstream

Spec-Zone.ru

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