共用方式為


basic_stringbuf::str

設定或取得字串緩衝區的文字,而不需要變更寫入位置。

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

參數

  • _Newstr
    新的字串。

傳回值

傳回類別 basic_string<ElemTr,控制序列是的複本順序的控制項。 *thisAlloc**>,** 物件。

備註

第 10% 成員函式會傳回類別 basic_string<ElemTrAlloc物件>,控制序列是的複本順序的控制項。 *this。 複製的順序取決於所儲存的 stringbuf 模式:

  • 如果 mode & ios_base::out 為非零值 (Nonzero),輸出緩衝區存在,這個序列是整個輸出緩衝區 (epptr -從 pbasepbase 項目)。

  • 如果 mode & ios_base::in 為非零值 (Nonzero),並輸入緩衝區存在,這個序列是整個輸入緩衝區 (egptr -從 ebackeback 項目)。

  • 否則,這個複製的序列是空的。

第二 + 成成員函式解除配置 *this目前控制項的任何序列。 接著這個配置的複本順序的控制項。 _Newstr。 如果 mode & ios_base::in 為非零值 (Nonzero),則將輸入緩衝區開始讀取這個序列開頭。 如果 mode & ios_base::out 為非零值 (Nonzero),則將輸出緩衝區開始寫入此序列開頭。

範例

// 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 程式設計

iostreams 慣例