std::strstream
Определён в заголовочном файле <strstream> | ||
|---|---|---|
class strstream : public std::iostream | (устарело в C++98) (удалено в C++26) |
Класс strstream реализует операции ввода и вывода для потоков, основанных на массивах. По сути, он оборачивает реализацию устройства ввода-вывода на основе необработанного массива (std::strstreambuf) в интерфейс более высокого уровня std::basic_iostream.
Типичная реализация strstream содержит только один нестатический член-данные, не унаследованный от базового класса: объект типа std::strstreambuf.
Примечания
После любого вызова str() требуется вызвать freeze(false), чтобы деструктор мог при необходимости освободить буфер.
Перед любым вызовом str(), в котором результат используется как C-строка, буфер должен завершаться нулевым символом, обычно с помощью std::ends.
strstream устарел начиная с C++98 и удалён начиная с C++26. std::stringstream, std::spanstream(начиная с C++23), а также boost::iostreams::array — рекомендуемые замены.
Функции-члены
создаёт объект strstream, при необходимости выделяя буфер (открытая функция-член) |
|
|
[виртуальный] | уничтожает объект strstream, при необходимости освобождая буфер (открытая виртуальная функция-член) |
получает указатель на связанный объект strstreambuf (открытая функция-член) |
|
| обращается к буферу вывода (открытая функция-член) |
|
| отключает/включает автоматическое перераспределение памяти (открытая функция-член) |
|
| получает число записанных символов (открытая функция-член) |
Унаследовано от 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_ostream
Функции-члены
Форматированный вывод |
|
| вставляет форматированные данные (открытая функция-член класса std::basic_ostream<CharT,Traits>) |
|
Неформатированный вывод |
|
| вставляет символ (открытая функция-член класса std::basic_ostream<CharT,Traits>) |
|
| вставляет блоки символов (открытая функция-член класса std::basic_ostream<CharT,Traits>) |
|
Позиционирование |
|
| возвращает указатель позиции вывода (открытая функция-член класса std::basic_ostream<CharT,Traits>) |
|
| устанавливает указатель позиции вывода (открытая функция-член класса std::basic_ostream<CharT,Traits>) |
|
Разное |
|
| синхронизируется с нижележащим устройством хранения данных (открытая функция-член класса std::basic_ostream<CharT,Traits>) |
|
Классы-члены
| реализует базовую логику подготовки потока к операциям вывода (открытый класс-член класса 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 |
Функции-члены
Функции состояния |
|
| проверяет, не произошла ли ошибка, то есть доступны ли операции ввода-вывода (открытая функция-член класса 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) |
|
Внутренний расширяемый массив |
|
|
[статическая] | возвращает уникальное в пределах программы целое число, которое безопасно использовать в качестве индекса для 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) |
|
Типы-члены и константы |
|||||||||||||||||||||||||||||||||||||||
| Тип | Пояснение | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| тип режима открытия потока Также определены следующие константы:
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| тип флагов форматирования Также определены следующие константы:
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| тип состояния потока Также определены следующие константы:
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| тип направления перемещения Также определены следующие константы:
(псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
| задаёт тип события (перечисление) |
|||||||||||||||||||||||||||||||||||||||
| тип функции обратного вызова (псевдоним типа) |
|||||||||||||||||||||||||||||||||||||||
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/strstream