| I/O manipulators | ||||
| Print functions(C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
basic_iostream | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
| Member functions | ||||
| Protected member functions | ||||
Defined in header <istream> | ||
template< class CharT, | ||
The class templatebasic_iostream provides support for high level input/output operations on streams. The supported operations include sequential reading or writing and formatting. This functionality is implemented over the interface provided by thestd::basic_streambuf class. It is accessed throughstd::basic_ios class.
Inheritance diagram
Several typedefs for common character types are provided:
Defined in header <istream> | |
| Type | Definition |
std::iostream | std::basic_iostream<char> |
std::wiostream | std::basic_iostream<wchar_t> |
Contents |
| Member type | Definition |
char_type | CharT[edit] |
traits_type | Traits; the program is ill-formed ifTraits::char_type is notCharT.[edit] |
int_type | Traits::int_type[edit] |
pos_type | Traits::pos_type[edit] |
off_type | Traits::off_type[edit] |
| constructs the object (public member function)[edit] | |
[virtual] | destructs the object (virtual public member function)[edit] |
(C++11) | move-assigns anotherbasic_iostream(protected member function)[edit] |
(C++11) | exchanges the state with anotherbasic_iostream(public member function)[edit] |
Formatted input | |
| extracts formatted data (public member function of std::basic_istream<CharT,Traits>)[edit] | |
Unformatted input | |
| extracts characters (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| reads the next character without extracting it (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| unextracts a character (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| puts a character into input stream (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| extracts characters until the given character is found (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| extracts and discards characters until the given character is found (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| extracts blocks of characters (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| extracts already available blocks of characters (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| returns number of characters extracted by last unformatted input operation (public member function of std::basic_istream<CharT,Traits>)[edit] | |
Positioning | |
| returns the input position indicator (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| sets the input position indicator (public member function of std::basic_istream<CharT,Traits>)[edit] | |
Miscellaneous | |
| synchronizes with the underlying storage device (public member function of std::basic_istream<CharT,Traits>)[edit] | |
| implements basic logic for preparation of the stream for input operations (public member class of std::basic_istream<CharT,Traits>)[edit] |
Formatted output | |
| inserts formatted data (public member function of std::basic_ostream<CharT,Traits>)[edit] | |
Unformatted output | |
| inserts a character (public member function of std::basic_ostream<CharT,Traits>)[edit] | |
| inserts blocks of characters (public member function of std::basic_ostream<CharT,Traits>)[edit] | |
Positioning | |
| returns the output position indicator (public member function of std::basic_ostream<CharT,Traits>)[edit] | |
| sets the output position indicator (public member function of std::basic_ostream<CharT,Traits>)[edit] | |
Miscellaneous | |
| synchronizes with the underlying storage device (public member function of std::basic_ostream<CharT,Traits>)[edit] | |
| implements basic logic for preparation of the stream for output operations (public member class of std::basic_ostream<CharT,Traits>)[edit] |
| Member type | Definition |
char_type | CharT |
traits_type | Traits |
int_type | Traits::int_type |
pos_type | Traits::pos_type |
off_type | Traits::off_type |
State functions | |
| checks if no error has occurred i.e. I/O operations are available (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| checks if end-of-file has been reached (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| checks if an error has occurred (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| checks if a non-recoverable error has occurred (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| checks if an error has occurred (synonym offail()) (public member function of std::basic_ios<CharT,Traits>)[edit] | |
checks if no error has occurred (synonym of!fail())(public member function of std::basic_ios<CharT,Traits>)[edit] | |
| returns state flags (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| sets state flags (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| modifies state flags (public member function of std::basic_ios<CharT,Traits>)[edit] | |
Formatting | |
| copies formatting information (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| manages the fill character (public member function of std::basic_ios<CharT,Traits>)[edit] | |
Miscellaneous | |
| manages exception mask (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| sets the locale (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| manages associated stream buffer (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| manages tied stream (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| narrows characters (public member function of std::basic_ios<CharT,Traits>)[edit] | |
| widens characters (public member function of std::basic_ios<CharT,Traits>)[edit] | |
Formatting | |
| manages format flags (public member function of std::ios_base)[edit] | |
| sets specific format flag (public member function of std::ios_base)[edit] | |
| clears specific format flag (public member function of std::ios_base)[edit] | |
| manages decimal precision of floating point operations (public member function of std::ios_base)[edit] | |
| manages field width (public member function of std::ios_base)[edit] | |
Locales | |
| sets locale (public member function of std::ios_base)[edit] | |
| returns current locale (public member function of std::ios_base)[edit] | |
Internal extensible array | |
[static] | returns a program-wide unique integer that is safe to use as index topword() andiword() (public static member function of std::ios_base)[edit] |
| resizes the private storage if necessary and access to thelong element at the given index (public member function of std::ios_base)[edit] | |
| resizes the private storage if necessary and access to thevoid* element at the given index (public member function of std::ios_base)[edit] | |
Miscellaneous | |
| registers event callback function (public member function of std::ios_base)[edit] | |
[static] | sets whether C++ and C I/O libraries are interoperable (public static member function of std::ios_base)[edit] |
Member classes | |
| stream exception (public member class of std::ios_base)[edit] | |
| initializes standard stream objects (public member class of std::ios_base)[edit] | |
Member types and constants | |||||||||||||||||||||||||||||||||||||||
| Type | Explanation | ||||||||||||||||||||||||||||||||||||||
| stream open mode type The following constants are also defined:
(typedef)[edit] | |||||||||||||||||||||||||||||||||||||||
| formatting flags type The following constants are also defined:
(typedef)[edit] | |||||||||||||||||||||||||||||||||||||||
| state of the stream type The following constants are also defined:
(typedef)[edit] | |||||||||||||||||||||||||||||||||||||||
| seeking direction type The following constants are also defined:
(typedef)[edit] | |||||||||||||||||||||||||||||||||||||||
| specifies event type (enum)[edit] | |||||||||||||||||||||||||||||||||||||||
| callback function type (typedef)[edit] | |||||||||||||||||||||||||||||||||||||||
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 271 | C++98 | the member typeschar_type,traits_type,int_type,pos_type andoff_type were not defined(std::basic_istream andstd::basic_ostream both define these types, resulted in ambiguity) | define these types |