basic_stringbuf::str

设置或获取要在字符串缓冲区的文本,而不必重新编写位置。

basic_string<Elem, Tr, Alloc> str( ) const;
void str(
    const basic_string<Elem, Tr, Alloc>& _Newstr
);

参数

  • _Newstr
    新字符串。

返回值

返回选件类 basic_string<ElemTr,控件序列为的副本顺序控件由 *this的Alloc**>,** 对象。

备注

第一个成员函数返回选件类basic_string<ElemTrAlloc>对象,控件序列为的副本顺序控件由 *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

请参见

参考

basic_stringbuf Class

iostream编程

(mfc)约定