public member function
<sstream>

std::basic_ostringstream::str

basic_string<char_type,traits_type,allocator_type> str() const;void str (const basic_string<char_type,traits_type,allocator_type>& s);
獲取/設定內容
第一種形式(1)返回一個basic_string物件,其中包含流當前內容的副本。

第二個形式(2)str設定為流的內容,丟棄任何先前的內容。該物件保留其開啟模式:如果其中包含ios_base::ate,則寫入位置會移到新序列的末尾。

在內部,該函式呼叫其內部字串緩衝區物件的str成員。

引數

str
一個具有相同模板引數(charTtraitsAlloc)的basic_string物件,其內容被複制。
成員型別char_typetraits_typeallocator_typebasic_ostringstream的類模板引數。

返回值

對於(1),一個basic_string物件,其中包含流緩衝區中當前內容的副本。

成員型別char_typetraits_typeallocator_typebasic_ostringstream的類模板引數。

示例

1
2
3
4
5
6
7
8
9
10
11
12
// ostringstream::rdbuf
#include <string>       // std::string
#include <iostream>     // std::cout
#include <sstream>      // std::ostringstream

int main () {
  std::ostringstream oss;
  oss << "One hundred and one: " << 101;
  std::string s = oss.str();
  std::cout << s << '\n';
  return 0;
}

One hundred and one: 101


資料競爭

訪問(1)或修改(2) basic_ostringstream物件。
併發訪問同一物件可能導致資料競爭。

異常安全

基本保證:如果丟擲異常,物件處於有效狀態。

另見