在线文档教程
C++
输入/输出 | Input/output

std::strstreambuf

STD::strStreambuf

Defined in header
class strstreambuf : public std::basic_streambuf<char>(deprecated)

std::strstreambufstd::basic_streambuf其关联字符序列为字符数组,可以是常数%28例如。字符串文本%29,可修改但不动态的%28例如。堆栈分配的数组%29,或者是动态的,在这种情况下,std::strstreambuf可能允许根据需要重新分配数组以容纳输出%28例如。打电话delete[]new[]或用户提供的函数%29。

的典型实现std::strstreambuf持有四名私人资料成员:

1%29缓冲区状态,可以表示“已分配”%28析构函数的四个值的任意组合的位掩码类型将释放%29,“常量”%28输出不允许%29,“动态”%28输出可能重新分配%29,或“冻结”%28重新分配和重新分配不允许%29。

2%29分配的缓冲区大小%28缓冲区的开头不需要特殊的数据成员,它可以存储在继承的指针中eback()%29

3%29指针指向用户提供的分配函数

4%29指针到用户提供的去分配功能.

注记

在接到任何电话后str()在具有动态缓冲区的流中,调用freeze(false)必须允许strstreambuf析构函数在必要时释放缓冲区。

成员函数

公共成员职能

*。

%28构造函数%29构造一个strStrebuf对象%28公共成员函数%29

%28破坏者%29虚拟解构strStrebuf对象,可以选择释放字符数组%28虚拟公共成员函数%29。

冻结设置/清除缓冲区%28公共成员函数%29的冻结状态

Str标记已冻结的缓冲区,并返回输入序列%28公共成员函数%29的起始指针。

pcount返回下一个指针减去输出序列中的起始指针:写入的字符数%28公共成员函数%29

受保护成员函数

底流虚拟从输入序列中读取字符,而不提升下一个指针%28虚拟受保护成员函数%29

背向失败虚拟取消输入序列以取消字符%28虚拟受保护成员函数%29

溢流虚拟在输出序列中追加一个字符,如果动态而不是冻结%28虚拟保护成员函数%29,则可以重新分配或最初分配缓冲区。

塞布夫虚拟尝试用数组%28虚拟受保护成员函数%29替换受控字符序列

寻的虚拟使用相对寻址%28虚拟受保护成员函数%29将下一个指针重新定位在输入序列、输出序列或两者中

求购虚拟使用绝对寻址%28虚拟受保护成员函数%29在输入序列、输出序列或两者中重新定位下一个指针

继承自性病:基本[医]流光

成员类型

Member typeDefinition
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

(destructor) virtualdestructs the basic_streambuf object (virtual public member function of std::basic_streambuf)

地区

调用imbue%28%29%28公共成员函数的STD::Basic[医]流注%29

getloc获得std::basic的关联locale%28公共成员函数的副本[医]流注%29

定位

调用setbuf%28%29%28公共成员函数std::basic[医]流注%29

可调用查找函数%28%29%28公共成员函数std::basic[医]流注%29

公共信息系统调用eokpos%28%29%28公共成员函数std::basic[医]流注%29

公共同步调用同步%28%29%28的STD:Basic公共成员函数[医]流注%29

获取面积

在[医]获取STD::Basic的GET区域%28公共成员函数中立即可用的字符数[医]流注%29

snextc将推进输入序列,然后读取一个字符,而不需要再前进std::basic的公共成员函数%28。[医]流注%29

从输入序列中读取一个字符,并提升std::basic的序列%28公共成员函数。[医]流注%29

stossc%28不推荐使用%29%28,直到C++17%29将输入序列升级,就像调用sbunpc%28%29和丢弃结果%28公共成员函数%29一样。

sgetc从输入序列中读取一个字符,而不提升std::basic的序列%28公共成员函数。[医]流注%29

sgetn调用std::basic的xsgetn%28%29%28公共成员函数。[医]流注%29

放置面积

溅射将一个字符写入PUT区域,并将std::basic的下一个指针%28公共成员函数向前推进。[医]流注%29

调用xspain%28%29%28公共成员函数std::basic[医]流注%29

倒置

sputbackc在std::basic的输入序列%28公共成员函数中放回一个字符[医]流注%29

sungetc将输入序列中的下一个指针移回std::basic的1%28公共成员函数。[医]流注%29

受保护成员函数

(constructor)constructs a basic_streambuf object (protected member function)
operator= (C++11)replaces a basic_streambuf object (protected member function)
swap (C++11)swaps two basic_streambuf objects (protected member function)

地区

灌输虚拟更改std::basic的关联locale%28虚拟受保护成员函数[医]流注%29

定位

塞布夫虚拟使用用户定义的数组替换缓冲区,如果允许,则使用std::basic的%28虚拟受保护成员函数。[医]流注%29

寻的虚拟使用std::basic的相对寻址%28虚拟保护成员函数在输入序列、输出序列或两者中重新定位下一个指针[医]流注%29

求购虚拟使用std::basic的绝对寻址%28虚拟保护成员函数在输入序列、输出序列或两者中重新定位下一个指针[医]流注%29

同步虚拟同步缓冲区与相关字符序列%28虚拟保护成员函数的STD::Basic[医]流注%29

获取面积

演艺界c虚拟获取关联输入序列中可用的字符数,如果已知为std::basic的%28虚拟受保护成员函数[医]流注%29

底流虚拟将字符从关联的输入序列读取到STD::Basic的GET区域%28虚拟保护成员函数[医]流注%29

流线虚拟将字符从关联的输入序列读取到GET区域,并提升下一个指针%28虚拟保护成员函数std::basic[医]流注%29

xsgetn虚拟从std::basic的输入序列%28虚拟受保护成员函数中读取多个字符[医]流注%29

ebackgptregptr返回指向GET区域%28受保护成员函数%29的起始、当前字符和结束的指针。

在输入序列%28受保护的成员函数%29中的下一个指针

SETG重新定位输入序列%28受保护的成员函数%29的开始、下一步和结束指针。

放置面积

xspon虚拟将多个字符写入std::basic的输出序列%28虚拟受保护成员函数[医]流注%29

溢流虚拟将字符写入std::basic的PUT区域%28虚拟受保护成员函数的关联输出序列[医]流注%29

pbasepptrepptr返回指向PUT区域%28受保护成员函数%29的起始、当前字符和结束的指针。

pbp推进输出序列%28受保护的成员函数%29的下一个指针。

SETP重新定位输出序列%28受保护的成员函数%29的开始、下一步和结束指针。

倒置

背向失败虚拟将一个字符放回输入序列,可能修改std::basic的输入序列%28虚拟受保护成员函数。[医]流注%29

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/strStrebuf