Difference between revisions of "cpp/io/strstream"
(+note on ends) |
m (→Synopsis) |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{cpp/title|strstream}} | {{cpp/title|strstream}} | ||
{{cpp/io/strstream/navbar}} | {{cpp/io/strstream/navbar}} | ||
− | {{ | + | {{ddcl|header=strstream|deprecated=c++98|removed=c++26|1= |
− | + | ||
− | + | ||
class strstream : public std::iostream | class strstream : public std::iostream | ||
}} | }} | ||
− | |||
− | The class {{tt|strstream}} implements input and output operations on array-backed streams. It essentially wraps a raw array I/O device implementation ({{ | + | The class {{tt|strstream}} implements input and output operations on array-backed streams. It essentially wraps a raw array I/O device implementation ({{lc|std::strstreambuf}}) into the higher-level interface of {{lc|std::basic_iostream}}. |
− | The typical implementation of {{tt|strstream}} holds only one non-derived data member: an object of type {{ | + | The typical implementation of {{tt|strstream}} holds only one non-derived data member: an object of type {{lc|std::strstreambuf}}. |
===Notes=== | ===Notes=== | ||
− | After any call to {{ | + | After any call to {{lc|str()}}, a call to {{lc|freeze()|freeze(false)}} is required to allow the destructor to deallocate the buffer as necessary. |
− | Before any call to {{ | + | Before any call to {{lc|str()}} that uses the result as a C-string, the buffer must be null-terminated, typically with {{lc|std::ends}}. |
− | {{tt|strstream}} has been deprecated since C++98 | + | {{tt|strstream}} has been deprecated since C++98 and removed since C++26. {{lc|std::stringstream}}{{rev inl|since=c++23|, {{ltt|cpp/io/basic_spanstream|std::spanstream}}}}, and [https://www.boost.org/doc/libs/release/libs/iostreams/doc/classes/array.html#array {{tt|boost::iostreams::array}}] are the recommended replacements. |
===Member functions=== | ===Member functions=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/io/strstream/dsc constructor | strstream}} | + | {{dsc inc|cpp/io/strstream/dsc constructor|strstream}} |
− | {{dsc inc | cpp/io/strstream/dsc destructor | strstream}} | + | {{dsc inc|cpp/io/strstream/dsc destructor|strstream}} |
− | {{dsc inc | cpp/io/strstream/dsc rdbuf | strstream}} | + | {{dsc inc|cpp/io/strstream/dsc rdbuf|strstream}} |
− | {{dsc inc | cpp/io/strstream/dsc str | strstream}} | + | {{dsc inc|cpp/io/strstream/dsc str|strstream}} |
− | {{dsc inc | cpp/io/strstream/dsc freeze | strstream}} | + | {{dsc inc|cpp/io/strstream/dsc freeze|strstream}} |
− | {{dsc inc | cpp/io/strstream/dsc pcount | strstream}} | + | {{dsc inc|cpp/io/strstream/dsc pcount|strstream}} |
{{dsc end}} | {{dsc end}} | ||
Line 34: | Line 31: | ||
{{cpp/io/ios_base/inherit}} | {{cpp/io/ios_base/inherit}} | ||
− | + | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 07:11, 6 April 2024
Defined in header <strstream>
|
||
class strstream : public std::iostream |
(deprecated in C++98) (removed in C++26) |
|
The class strstream
implements input and 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_iostream.
The typical implementation of strstream
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.
strstream
has been deprecated since C++98 and removed since C++26. std::stringstream, std::spanstream(since C++23), and boost::iostreams::array
are the recommended replacements.
[edit] Member functions
constructs a strstream object, optionally allocating the buffer (public member function) | |
[virtual] |
destructs a strstream object, optionally deallocating the buffer (virtual public member function) |
obtains a pointer to the associated strstreambuf (public member function) | |
accesses the output buffer (public member function) | |
disables/enables automatic reallocation (public member function) | |
obtains the number of characters written (public member function) |
Inherited from std::basic_istream
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 std::basic_ostream
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 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 | |
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 fail()) (public member function of std::basic_ios<CharT,Traits> )
| |
checks if no error has occurred (synonym of ! fail()) (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 std::ios_base
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 pword() and iword() (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:
(typedef) | |||||||||||||||||||||||||||||||||||||||
formatting flags type
The following constants are also defined:
(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) |