Namespaces
Variants

std:: basic_istringstream

From cppreference.net
< cpp ‎ | io
Определено в заголовочном файле <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 istream std-basic istringstream-inheritance.svg

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

Предоставлены несколько typedef для распространённых символьных типов:

Определено в заголовочном файле <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 > используемый в качестве базового буфера
( объект только для демонстрации* )

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

создает строковый поток
(public member function)
(C++11)
перемещает строковый поток
(public member function)
(C++11)
обменивает два строковых потока
(public member function)
возвращает базовый объект строкового устройства
(public member function)
Операции со строками
получает или устанавливает содержимое базового строкового устройства
(public member function)
(C++20)
получает представление содержимого базового строкового устройства
(public member function)

Функции, не являющиеся членами класса

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

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

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

Форматированный ввод
извлекает форматированные данные
(публичная функция-член std::basic_istream<CharT,Traits> )
Неформатированный ввод
извлекает символы
(публичная функция-член std::basic_istream<CharT,Traits> )
читает следующий символ без его извлечения
(публичная функция-член std::basic_istream<CharT,Traits> )
возвращает символ обратно в поток
(публичная функция-член std::basic_istream<CharT,Traits> )
помещает символ обратно во входной поток
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает символы до нахождения заданного символа
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает и отбрасывает символы до нахождения заданного символа
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает блоки символов
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает уже доступные блоки символов
(публичная функция-член std::basic_istream<CharT,Traits> )
возвращает количество символов, извлеченных последней операцией неформатированного ввода
(публичная функция-член std::basic_istream<CharT,Traits> )
Позиционирование
возвращает индикатор позиции ввода
(публичная функция-член std::basic_istream<CharT,Traits> )
устанавливает индикатор позиции ввода
(публичная функция-член std::basic_istream<CharT,Traits> )
Прочие функции
синхронизирует с базовым устройством хранения
(публичная функция-член std::basic_istream<CharT,Traits> )

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

реализует базовую логику подготовки потока к операциям ввода
(публичный класс-член 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

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

Функции состояния
проверяет, что ошибок не произошло, т.е. операции ввода-вывода доступны
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, достигнут ли конец файла
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, произошла ли ошибка
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, произошла ли неустранимая ошибка
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, произошла ли ошибка (синоним fail() )
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, что ошибок не произошло (синоним ! fail() )
(публичная функция-член std::basic_ios<CharT,Traits> )
возвращает флаги состояния
(публичная функция-член std::basic_ios<CharT,Traits> )
устанавливает флаги состояния
(публичная функция-член std::basic_ios<CharT,Traits> )
изменяет флаги состояния
(публичная функция-член std::basic_ios<CharT,Traits> )
Форматирование
копирует информацию о форматировании
(публичная функция-член std::basic_ios<CharT,Traits> )
управляет символом-заполнителем
(публичная функция-член std::basic_ios<CharT,Traits> )
Разное
управляет маской исключений
(публичная функция-член std::basic_ios<CharT,Traits> )
устанавливает локаль
(публичная функция-член std::basic_ios<CharT,Traits> )
управляет связанным буфером потока
(публичная функция-член std::basic_ios<CharT,Traits> )
управляет связанным потоком
(публичная функция-член std::basic_ios<CharT,Traits> )
сужает символы
(публичная функция-член std::basic_ios<CharT,Traits> )
расширяет символы
(публичная функция-член std::basic_ios<CharT,Traits> )

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

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

Форматирование
управляет флагами формата
(публичная функция-член std::ios_base )
устанавливает определённый флаг формата
(публичная функция-член std::ios_base )
сбрасывает определённый флаг формата
(публичная функция-член std::ios_base )
управляет точностью десятичных операций с плавающей точкой
(публичная функция-член std::ios_base )
управляет шириной поля
(публичная функция-член std::ios_base )
Локали
устанавливает локаль
(публичная функция-член std::ios_base )
возвращает текущую локаль
(публичная функция-член std::ios_base )
Внутренний расширяемый массив
[static]
возвращает уникальное для программы целое число, безопасное для использования в качестве индекса для pword() и iword()
(публичная статическая функция-член std::ios_base )
изменяет размер приватного хранилища при необходимости и предоставляет доступ к long элементу по заданному индексу
(публичная функция-член std::ios_base )
изменяет размер приватного хранилища при необходимости и предоставляет доступ к void * элементу по заданному индексу
(публичная функция-член std::ios_base )
Прочее
регистрирует функцию обратного вызова событий
(публичная функция-член std::ios_base )
устанавливает, являются ли библиотеки ввода-вывода C++ и C совместимыми
(публичная статическая функция-член std::ios_base )
Классы-члены
исключение потока
(публичный класс-член std::ios_base )
инициализирует объекты стандартных потоков
(публичный класс-член std::ios_base )

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

Тип Объяснение
тип режима открытия потока

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

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

(typedef)
тип флагов форматирования

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

Константа Объяснение
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)
тип состояния потока

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

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

(typedef)
тип направления позиционирования

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

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

(typedef)
определяет тип события
(enum)
тип функции обратного вызова
(typedef)