strstream 类

描述了一个对象,该对象使用 strstreambuf 类的流缓冲区控制元素和编码对象的插入和提取。

语法

class strstream : public iostream

备注

该对象存储 strstreambuf 类的对象。

注意

此类已弃用。 请考虑改用 stringstreamwstringstream

构造函数

构造函数 说明
strstream 构造 strstream 类型的对象。

成员函数

成员函数 说明
freeze 导致无法通过流缓冲区操作使用流缓冲区。
pcount 返回写入到受控序列的元素计数。
rdbuf 返回指向流的关联 strstreambuf 对象的指针。
str 调用 freeze,然后将返回指向受控序列开头的指针。

要求

标头:<strstream>

命名空间: std

strstream::freeze

导致无法通过流缓冲区操作使用流缓冲区。

void freeze(bool _Freezeit = true);

参数

_Freezeit
bool 指示是否要冻结流。

备注

此成员函数调用 rdbuf ->freeze(_ Freezeit)。

示例

有关使用 freeze 的示例,请参阅 strstreambuf::freeze

strstream::pcount

返回写入到受控序列的元素计数。

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

示例

有关使用 str 的示例,请参阅 strstreambuf::str

strstream::strstream

构造 strstream 类型的对象。

strstream();

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

参数

count
缓冲区的大小。

_Mode
缓冲区的输入和输出模式。 有关详细信息,请参阅 ios_base::openmode

ptr
缓冲区。

注解

这两个构造函数均可通过调用 streambuf( sb)(其中 sbstrstreambuf 类的存储对象)对基类进行初始化。 第一个构造函数还可通过调用 strstreambuf 初始化 sb。 第二个构造函数以下列两种方式之一初始化基类:

  • 如果 _Mode 和 ios_base::app == 0,则 ptr 必须指定 count 元素数组的第一个元素,且构造函数调用 strstreambufptrcountptr

  • 否则,ptr 必须指定包含 C 字符串(其第一个元素由 ptr 指定)的计数元素数组的第一个元素,且构造函数调用 strstreambuf( ptr, count, ptr + strlen( ptr) )。

另请参阅

iostream
C++ 标准库中的线程安全
iostream 编程
iostreams 约定