Поделиться через


Класс strstream

Описывает объект, управляющий вставкой и извлечением элементов и закодированных объектов с помощью буфера потока класса strstreambuf.

Синтаксис

class strstream : public iostream

Замечания

Объект сохраняет объект класса strstreambuf.

Примечание.

Этот класс устарел. Вместо него рекомендуется использовать stringstream или wstringstream.

Конструкторы

Конструктор Description
strstream Создает объект типа strstream.

Функции элементов

Функция-член Description
freeze Делает буфер потока недоступным для операций с буфером потока.
pcount Возвращает число элементов, записанных в управляемую последовательность.
rdbuf Возвращает указатель на объект strstreambuf, связанный с потоком.
str Вызывает freeze, затем возвращает указатель на начало управляемой последовательности.

Требования

Заголовок:<strstream>

Пространство имен: std

strstream::freeze

Делает буфер потока недоступным для операций с буфером потока.

void freeze(bool _Freezeit = true);

Параметры

_Freezeit
Объект bool, указывающий, следует ли фиксировать поток.

Замечания

Функция-член вызывает rdbuf ->freeze(_ Freezeit).

Пример

Пример использования freezeсм. в strstreambuf::freeze.

strstream::p count

Возвращает число элементов, записанных в управляемую последовательность.

streamsize pcount() const;

Возвращаемое значение

Число элементов, записанных в управляемую последовательность.

Замечания

Функция-член возвращает rdbuf ->pcount.

Пример

См. пример использования метода pcount в разделе strstreambuf::pcount.

strstream::rdbuf

Возвращает указатель на объект strstreambuf, связанный с потоком.

strstreambuf *rdbuf() const

Возвращаемое значение

Указатель на объект strstreambuf, связанный с потоком.

Замечания

Функция-член возвращает адрес сохраненного буфера потока типа pointer strstreambuf.

Пример

См. пример использования rdbuf в разделе strstreambuf::pcount.

strstream::str

Вызывает freeze, затем возвращает указатель на начало управляемой последовательности.

char *str();

Возвращаемое значение

Указатель на начало управляемой последовательности.

Замечания

Функция-член возвращает rdbuf ->str.

Пример

См. пример, использующий strstrstreambuf::str.

strstream::strstream

Создает объект типа strstream.

strstream();

strstream(char* ptr,
    streamsize count,
    ios_base::openmode _Mode = ios_base::in | ios_base::out);

Параметры

count
Размер буфера.

_Режим
Режим ввода-вывода буфера. Дополнительные сведения см. в разделе ios_base::openmode.

ptr
Буфер.

Замечания

Оба конструктора инициализируют базовый класс путем вызова streambuf(sb), где sb хранится объект класса strstreambuf. Первый конструктор также инициализируется sb путем вызова strstreambuf. Второй конструктор инициализирует базовый класс одним из двух способов:

  • Если _Mode и &ios_base::app== 0, то ptr должен назначить первый элемент массива count элементов, а также вызовы strstreambufконструктора (ptr, , countptr).

  • В противном случае ptr должен назначить первый элемент массива элементов счетчика, содержащий строку C, первый элемент которой обозначается ptr, и вызовы strstreambufконструктора ( , + ptrcountstrlenptr ( ptr) ).

См. также

iostream
Потокобезопасность в стандартной библиотеке C++
Программирование iostream
Соглашения iostreams