std::ostrstream - cppreference.com (original) (raw)

The class ostrstream implements output operations on array-backed streams. It essentially wraps a raw array I/O device implementation (std::strstreambuf) into the higher-level interface of std::basic_ostream.

The typical implementation of ostrstream holds only one non-derived data member: an object of type std::strstreambuf.

Contents

[edit] Notes

After any call to str(), a call to freeze(false) is required to allow the destructor to deallocate the buffer as necessary.

Before any call to str() that uses the result as a C-string, the buffer must be null-terminated, typically with std::ends.

ostrstream has been deprecated since C++98 and removed since C++26. std::ostringstream, std::ospanstream(since C++23), and boost::iostreams::array_sink are the recommended replacements.

[edit] Member functions

(constructor) constructs an ostrstream object, optionally allocating the buffer (public member function) [edit]
(destructor)[virtual] destructs an ostrstream object, optionally deallocating the buffer (virtual public member function) [edit]
rdbuf obtains a pointer to the associated strstreambuf (public member function) [edit]
str accesses the output buffer (public member function) [edit]
freeze disables/enables automatic reallocation (public member function) [edit]
pcount obtains the number of characters written (public member function) [edit]

Inherited from std::basic_ostream

Member functions

Formatted output
operator<< inserts formatted data (public member function of std::basic_ostream<CharT,Traits>) [edit]
Unformatted output
put inserts a character (public member function of std::basic_ostream<CharT,Traits>) [edit]
write inserts blocks of characters (public member function of std::basic_ostream<CharT,Traits>) [edit]
Positioning
tellp returns the output position indicator (public member function of std::basic_ostream<CharT,Traits>) [edit]
seekp sets the output position indicator (public member function of std::basic_ostream<CharT,Traits>) [edit]
Miscellaneous
flush synchronizes with the underlying storage device (public member function of std::basic_ostream<CharT,Traits>) [edit]

Member classes

| | implements basic logic for preparation of the stream for output operations (public member class of std::basic_ostream<CharT,Traits>) [edit] | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

Inherited from std::basic_ios

Member types

Member type Definition
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Member functions

State functions
good checks if no error has occurred i.e. I/O operations are available (public member function of std::basic_ios<CharT,Traits>) [edit]
eof checks if end-of-file has been reached (public member function of std::basic_ios<CharT,Traits>) [edit]
fail checks if an error has occurred (public member function of std::basic_ios<CharT,Traits>) [edit]
bad checks if a non-recoverable error has occurred (public member function of std::basic_ios<CharT,Traits>) [edit]
operator! checks if an error has occurred (synonym of fail()) (public member function of std::basic_ios<CharT,Traits>) [edit]
operator bool checks if no error has occurred (synonym of fail()) (public member function of std::basic_ios<CharT,Traits>) [edit]
rdstate returns state flags (public member function of std::basic_ios<CharT,Traits>) [edit]
setstate sets state flags (public member function of std::basic_ios<CharT,Traits>) [edit]
clear modifies state flags (public member function of std::basic_ios<CharT,Traits>) [edit]
Formatting
copyfmt copies formatting information (public member function of std::basic_ios<CharT,Traits>) [edit]
fill manages the fill character (public member function of std::basic_ios<CharT,Traits>) [edit]
Miscellaneous
exceptions manages exception mask (public member function of std::basic_ios<CharT,Traits>) [edit]
imbue sets the locale (public member function of std::basic_ios<CharT,Traits>) [edit]
rdbuf manages associated stream buffer (public member function of std::basic_ios<CharT,Traits>) [edit]
tie manages tied stream (public member function of std::basic_ios<CharT,Traits>) [edit]
narrow narrows characters (public member function of std::basic_ios<CharT,Traits>) [edit]
widen widens characters (public member function of std::basic_ios<CharT,Traits>) [edit]

Inherited from std::ios_base

Member functions

Formatting
flags manages format flags (public member function of std::ios_base) [edit]
setf sets specific format flag (public member function of std::ios_base) [edit]
unsetf clears specific format flag (public member function of std::ios_base) [edit]
precision manages decimal precision of floating point operations (public member function of std::ios_base) [edit]
width manages field width (public member function of std::ios_base) [edit]
Locales
imbue sets locale (public member function of std::ios_base) [edit]
getloc returns current locale (public member function of std::ios_base) [edit]
Internal extensible array
xalloc[static] returns a program-wide unique integer that is safe to use as index to pword() and iword() (public static member function of std::ios_base) [edit]
iword resizes the private storage if necessary and access to the long element at the given index (public member function of std::ios_base) [edit]
pword resizes the private storage if necessary and access to the void* element at the given index (public member function of std::ios_base) [edit]
Miscellaneous
register_callback registers event callback function (public member function of std::ios_base) [edit]
sync_with_stdio[static] sets whether C++ and C I/O libraries are interoperable (public static member function of std::ios_base) [edit]
Member classes
failure stream exception (public member class of std::ios_base) [edit]
Init initializes standard stream objects (public member class of std::ios_base) [edit]