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);
Get/set content
The first form (1) returns a basic_string object with a copy of the current contents of the stream.

The second form (2) sets str as the contents of the stream, discarding any previous contents. The object preserves its open mode: if this includes ios_base::ate, the writing position is moved to the end of the new sequence.

Internally, the function calls the str member of its internal string buffer object.

Parameters

str
A basic_string object with the same template parameters (charT, traits and Alloc), whose content is copied.
Member types char_type, traits_type and allocator_type are the class template parameters of basic_ostringstream.

Return Value

For (1), a basic_string object with a copy of the current contents in the stream buffer.

Member types char_type, traits_type and allocator_type are the class template parameters of basic_ostringstream.

Example

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


Data races

Accesses (1) or modifies (2) the basic_ostringstream object.
Concurrent access to the same object may cause data races.

Exception safety

Basic guarantee: if an exception is thrown, the object is in a valid state.

See also