basic_stringbuf::str
设置或获取要在字符串缓冲区的文本,而不必重新编写位置。
basic_string<Elem, Tr, Alloc> str( ) const;
void str(
const basic_string<Elem, Tr, Alloc>& _Newstr
);
参数
- _Newstr
新字符串。
返回值
返回选件类 basic_string<Elem,Tr,控件序列为的副本顺序控件由 *this的Alloc**>,** 对象。
备注
第一个成员函数返回选件类basic_string<Elem,Tr,Alloc>对象,控件序列为的副本顺序控件由 *this。 复制的顺序取决于存储的stringbuf模式:
如果 mode & ios_base::out 不为零,并输出区域存在,顺序是整个输出区域(epptr -从 pbase开始的pbase 元素)。
如果 mode & ios_base::in 不为零,并输入缓冲区存在,顺序是整个输入缓冲区(egptr -从 eback开始的eback 元素)。
否则,将复制的序列为空。
第二个成员函数释放 *this当前控件的所有订单。 然后分配的副本顺序控件由 _Newstr。 如果 mode & ios_base::in 不为零,它将输入缓冲区开始读取该序列开头。 如果 mode & ios_base::out 不为零,它将输出区域开始编写在序列开头。
示例
// basic_stringbuf_str.cpp
// compile with: /EHsc
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
basic_string<char> i( "test" );
stringstream ss;
ss.rdbuf( )->str( i );
cout << ss.str( ) << endl;
ss << "z";
cout << ss.str( ) << endl;
ss.rdbuf( )->str( "be" );
cout << ss.str( ) << endl;
}
要求
标头: <sstream>
命名空间: std