public member function
<sstream>
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;
}
|
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.