public member function
<sstream>

std::stringbuf::str

get (1)
string str() const;
set (2)
void str (const string& str);
Get/set the string content
The first form (1) returns a string object with a copy of the current contents in the stream buffer.

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

Parameters

str
A string object, whose content is copied.

Return Value

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

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// stringbuf example
#include <string>       // std::string
#include <iostream>     // std::cout, std::ostream, std::hex
#include <sstream>      // std::stringbuf

int main ()
{
  std::stringbuf buffer;             // empty buffer

  std::ostream os (&buffer);      // associate stream buffer to stream

  // mixing output to buffer with inserting to associated stream:
  buffer.sputn ("255 in hexadecimal: ",20);
  os << std::hex << 255;

  std::cout << buffer.str();

  return 0;
}

255 in hexadecimal: ff


Data races

Accesses (1) or modifies (2) the stringbuf 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