basic_ostringstream Class

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at basic_ostringstream Class.

Describes an object that controls insertion of elements and encoded objects into a stream buffer of class basic_stringbuf< Elem, Tr, Alloc>.

template <class Elem, class Tr = char_traits<Elem>, class Alloc = allocator<Elem>>  
class basic_ostringstream : public basic_ostream<Elem, Tr>  

Parameters

Alloc
The allocator class.

Elem
The type of the basic element of the string.

Tr
The character traits specialized on the basic element of the string.

The class describes an object that controls insertion of elements and encoded objects into a stream buffer, with elements of type Elem, whose character traits are determined by the class Tr, and whose elements are allocated by an allocator of class Alloc. The object stores an object of class basic_stringbuf< Elem, Tr, Alloc>.

Constructors

basic_ostringstreamConstructs an object of type basic_ostringstream.

Typedefs

allocator_typeThe type is a synonym for the template parameter Alloc.

Member Functions

rdbufReturns the address of the stored stream buffer of type pointer to basic_stringbuf< Elem, Tr, Alloc>.
strSets or gets the text in a string buffer without changing the write position.

Header: <sstream>

Namespace: std

The type is a synonym for the template parameter Alloc.

typedef Alloc allocator_type;  

Constructs an object of type basic_ostringstream.

explicit basic_ostringstream(ios_base::openmode _Mode = ios_base::out);

explicit basic_ostringstream(const basic_string<Elem, Tr, Alloc>& str, ios_base::openmode _Mode = ios_base::out);

Parameters

_Mode
One of the enumerations in ios_base::openmode.

str
An object of type basic_string.

Remarks

The first constructor initializes the base class by calling basic_ostream( sb), where sb is the stored object of class basic_stringbuf< Elem, Tr, Alloc>. It also initializes sb by calling basic_stringbuf< Elem, Tr, Alloc>( _Mode | ios_base::out).

The second constructor initializes the base class by calling basic_ostream( sb). It also initializes sb by calling basic_stringbuf< Elem, Tr, Alloc>(_ Str, _Mode | ios_base::out).

Returns the address of the stored stream buffer of type pointer to basic_stringbuf< Elem, Tr, Alloc>.

basic_stringbuf<Elem, Tr, Alloc> *rdbuf() const;

Return Value

The address of the stored stream buffer, of type pointer to basic_stringbuf< Elem, Tr, Alloc>.

Remarks

The member function returns the address of the stored stream buffer of type pointer to basic_stringbuf< Elem, Tr, Alloc>.

Example

See basic_filebuf::close for an example that uses rdbuf.

Sets or gets the text in a string buffer without changing the write position.

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

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

Parameters

_Newstr
The new string.

Return Value

Returns an object of class basic_string< Elem, Tr, Alloc>, whose controlled sequence is a copy of the sequence controlled by *this.

Remarks

The first member function returns rdbuf -> str. The second member function calls rdbuf -> str( _Newstr).

Example

See basic_stringbuf::str for an example that uses str.

Thread Safety in the C++ Standard Library
iostream Programming
iostreams Conventions

Show: