From cppreference.com
template<classCharT,classTraits=std::char_traits<CharT>,classAllocator=std::allocator<CharT>>classbasic_stringstream:publicbasic_iostream<CharT,Traits>;The class template std::basic_stringstream implements input and output operations on string based streams. It effectively stores an instance of
and performs the input and output operations on it.
At the low level, the class essentially wraps a raw string device implementation of
into a higher-level interface of
. The complete interface to unique
members is provided.
Inheritance diagram
Several typedefs for common character types are provided:
Type Definition std::stringstreamstd::basic_stringstream<char>std::wstringstreamstd::basic_stringstream<wchar_t>Member types
Member type Definition char_typeCharT
traits_typeTraits; the program is ill-formed if Traits::char_type is not CharT.
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type
allocator_typeAllocator
Exposition-only members
Name Definition sbthe std::basic_stringbuf<CharT,Traits,Allocator> used as the underlying buffer
(exposition-only member object*)Member functions
constructs the string stream
(public member function)
(C++11)
moves the string stream
(public member function)
(C++11)
swaps two string streams
(public member function)
returns the underlying raw string device object
(public member function)
String operations
gets or sets the contents of underlying string device object
(public member function)
(C++20)
obtains a view over the contents of underlying string device object
(public member function)
Non-member functions
Inherited from
Member functions
Formatted input
extracts formatted data
(public member function of std::basic_istream<CharT,Traits>)
Unformatted input
extracts characters
(public member function of std::basic_istream<CharT,Traits>)
reads the next character without extracting it
(public member function of std::basic_istream<CharT,Traits>)
unextracts a character
(public member function of std::basic_istream<CharT,Traits>)
puts a character into input stream
(public member function of std::basic_istream<CharT,Traits>)
extracts characters until the given character is found
(public member function of std::basic_istream<CharT,Traits>)
extracts and discards characters until the given character is found
(public member function of std::basic_istream<CharT,Traits>)
extracts blocks of characters
(public member function of std::basic_istream<CharT,Traits>)
extracts already available blocks of characters
(public member function of std::basic_istream<CharT,Traits>)
returns number of characters extracted by last unformatted input operation
(public member function of std::basic_istream<CharT,Traits>)
Positioning
returns the input position indicator
(public member function of std::basic_istream<CharT,Traits>)
sets the input position indicator
(public member function of std::basic_istream<CharT,Traits>)
Miscellaneous
synchronizes with the underlying storage device
(public member function of std::basic_istream<CharT,Traits>)
Member classes
implements basic logic for preparation of the stream for input operations
(public member class of std::basic_istream<CharT,Traits>)
Inherited from
Member functions
Formatted output
inserts formatted data
(public member function of std::basic_ostream<CharT,Traits>)
Unformatted output
inserts a character
(public member function of std::basic_ostream<CharT,Traits>)
inserts blocks of characters
(public member function of std::basic_ostream<CharT,Traits>)
Positioning
returns the output position indicator
(public member function of std::basic_ostream<CharT,Traits>)
sets the output position indicator
(public member function of std::basic_ostream<CharT,Traits>)
Miscellaneous
synchronizes with the underlying storage device
(public member function of std::basic_ostream<CharT,Traits>)
Member classes
implements basic logic for preparation of the stream for output operations
(public member class of std::basic_ostream<CharT,Traits>)
Inherited from
Member types
Member type Definition char_typeCharTtraits_typeTraitsint_typeTraits::int_typepos_typeTraits::pos_typeoff_typeTraits::off_typeMember functions
State functions
checks if no error has occurred i.e. I/O operations are available
(public member function of std::basic_ios<CharT,Traits>)
checks if end-of-file has been reached
(public member function of std::basic_ios<CharT,Traits>)
checks if an error has occurred
(public member function of std::basic_ios<CharT,Traits>)
checks if a non-recoverable error has occurred
(public member function of std::basic_ios<CharT,Traits>)
checks if an error has occurred (synonym of
)
(public member function of std::basic_ios<CharT,Traits>)
checks if no error has occurred (synonym of !
)
(public member function of std::basic_ios<CharT,Traits>)
returns state flags
(public member function of std::basic_ios<CharT,Traits>)
sets state flags
(public member function of std::basic_ios<CharT,Traits>)
modifies state flags
(public member function of std::basic_ios<CharT,Traits>)
Formatting
copies formatting information
(public member function of std::basic_ios<CharT,Traits>)
manages the fill character
(public member function of std::basic_ios<CharT,Traits>)
Miscellaneous
manages exception mask
(public member function of std::basic_ios<CharT,Traits>)
sets the locale
(public member function of std::basic_ios<CharT,Traits>)
manages associated stream buffer
(public member function of std::basic_ios<CharT,Traits>)
manages tied stream
(public member function of std::basic_ios<CharT,Traits>)
narrows characters
(public member function of std::basic_ios<CharT,Traits>)
widens characters
(public member function of std::basic_ios<CharT,Traits>)
Inherited from
Member functions
Formatting
manages format flags
(public member function of std::ios_base)
sets specific format flag
(public member function of std::ios_base)
clears specific format flag
(public member function of std::ios_base)
manages decimal precision of floating point operations
(public member function of std::ios_base)
manages field width
(public member function of std::ios_base)
Locales
sets locale
(public member function of std::ios_base)
returns current locale
(public member function of std::ios_base)
Internal extensible array
[static]
returns a program-wide unique integer that is safe to use as index to
and
(public static member function of std::ios_base)
resizes the private storage if necessary and access to the long element at the given index
(public member function of std::ios_base)
resizes the private storage if necessary and access to the void* element at the given index
(public member function of std::ios_base)
Miscellaneous
registers event callback function
(public member function of std::ios_base)
[static]
sets whether C++ and C I/O libraries are interoperable
(public static member function of std::ios_base)
Member classes
stream exception
(public member class of std::ios_base)
initializes standard stream objects
(public member class of std::ios_base)
Member types and constants
Type Explanation stream open mode type The following constants are also defined:
Constant Explanation
seek to the end of stream before each write
open in
open for reading
open for writing
discard the contents of the stream when opening
seek to the end of stream immediately after open
(C++23)open in exclusive mode
(typedef)
formatting flags type The following constants are also defined:
Constant Explanation
use decimal base for integer I/O: see
use octal base for integer I/O: see
use hexadecimal base for integer I/O: see
dec|oct|hex. Useful for masking operations
left adjustment (adds fill characters to the right): see
right adjustment (adds fill characters to the left): see
internal adjustment (adds fill characters to the internal designated point): see
left|right|internal. Useful for masking operations
generate floating point types using scientific notation, or hex notation if combined with fixed: see
generate floating point types using fixed notation, or hex notation if combined with scientific: see
scientific|fixed. Useful for masking operations
insert and extract bool type in alphanumeric format: see
generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: see
generate a decimal-point character unconditionally for floating-point number output: see
generate a + character for non-negative numeric output: see
skip leading whitespace before certain input operations: see
flush the output after each output operation: see
replace certain lowercase letters with their uppercase equivalents in certain output operations: see
(typedef)
state of the stream type The following constants are also defined:
(typedef)
seeking direction type The following constants are also defined:
(typedef)
specifies event type
(enum)
callback function type
(typedef)