描述了一个对象,该对象使用 strstreambuf 类的流缓冲区控制元素和编码对象的插入和提取。
语法
class strstream : public iostream
备注
该对象存储 strstreambuf 类的对象。
注意
此类已弃用。 请考虑改用 stringstream 或 wstringstream。
构造函数
| 构造函数 | 说明 |
|---|---|
| strstream | 构造 strstream 类型的对象。 |
成员函数
| 成员函数 | 说明 |
|---|---|
| 冻结 | 导致无法通过流缓冲区操作使用流缓冲区。 |
| pcount | 返回写入到受控序列的元素计数。 |
| rdbuf | 返回指向流的关联 strstreambuf 对象的指针。 |
| str | 调用 freeze,然后将返回指向受控序列开头的指针。 |
要求
标头:strstream<>
命名空间: std
strstream::freeze
导致无法通过流缓冲区操作使用流缓冲区。
void freeze(bool _Freezeit = true);
参数
_Freezeit
bool 指示是否要冻结流。
备注
此成员函数调用 rdbuf ->freeze(_ Freezeit)。
示例
strstream::p count
返回写入到受控序列的元素计数。
streamsize pcount() const;
返回值
写入到受控序列的元素数。
备注
示例
有关使用 pcount 的示例,请参阅 strstreambuf::pcount。
strstream::rdbuf
返回指向流关联的 strstreambuf 对象的指针。
strstreambuf *rdbuf() const
返回值
指向流关联的 strstreambuf 对象的指针。
备注
此成员函数将 pointer 类型的已存储流缓冲区的地址返回到 strstreambuf。
示例
strstream::str
调用 freeze,然后将返回指向受控序列开头的指针。
char *str();
返回值
指向受控序列的开头的指针。
备注
示例
strstream::strstream
构造 strstream 类型的对象。
strstream();
strstream(char* ptr,
streamsize count,
ios_base::openmode _Mode = ios_base::in | ios_base::out);
参数
计数
缓冲区的大小。
_Mode
缓冲区的输入和输出模式。 有关详细信息,请参阅 ios_base::openmode。
ptr
缓冲区。
备注
这两个构造函数均可通过调用 streambuf( sb)(其中 sb 是 strstreambuf 类的存储对象)对基类进行初始化。 第一个构造函数还可通过调用 sb 初始化 。 第二个构造函数以下列两种方式之一初始化基类:
如果
_Mode& ios_base::app== 0,则 ptr 必须指定元素数组count的第一个元素,构造函数调用strstreambuf(ptr, ,countptr)。否则,ptr 必须指定包含其第一个元素由 ptr 指定的 C 字符串的 count 元素数组的第一个元素,构造函数调用
strstreambuf(,ptrcountptr+ , (strlenptr) 。