Input/output manipulators - cppreference.com (original) (raw)
Input/output manipulators
Manipulators are helper functions that make it possible to control input/output streams using operator<< or operator>>.
The manipulators that are invoked without arguments (e.g. std::cout << std::boolalpha; or std::cin >> std::hex;) are implemented as functions that take a reference to a stream as their only argument. The special overloads of basic_ostream::operator<< and basic_istream::operator>> accept pointers to these functions. These functions (or instantiations of function templates) are the only addressable functions in the standard library.(since C++20)
The manipulators that are invoked with arguments (e.g. std::cout << std::setw(10);) are implemented as functions returning objects of unspecified type. These manipulators define their own operator<< or operator>> which perform the requested manipulation.
| Defined in header | |
|---|---|
| boolalphanoboolalpha | switches between textual and numeric representation of booleans (function) [edit] |
| showbasenoshowbase | controls whether prefix is used to indicate numeric base (function) [edit] |
| showpointnoshowpoint | controls whether decimal point is always included in floating-point representation (function) [edit] |
| showposnoshowpos | controls whether the + sign used with non-negative numbers (function) [edit] |
| skipwsnoskipws | controls whether leading whitespace is skipped on input (function) [edit] |
| uppercasenouppercase | controls whether uppercase characters are used with some output formats (function) [edit] |
| unitbufnounitbuf | controls whether output is flushed after each operation (function) [edit] |
| internalleftright | sets the placement of fill characters (function) [edit] |
| dechexoct | changes the base used for integer I/O (function) [edit] |
| fixedscientifichexfloatdefaultfloat(C++11)(C++11) | changes formatting used for floating-point I/O (function) [edit] |
| Defined in header | |
| ws | consumes whitespace (function template) [edit] |
| Defined in header | |
| ends | outputs '\0' (function template) [edit] |
| flush | flushes the output stream (function template) [edit] |
| endl | outputs '\n' and flushes the output stream (function template) [edit] |
| emit_on_flushnoemit_on_flush(C++20) | controls whether a stream's basic_syncbuf emits on flush (function template) [edit] |
| flush_emit(C++20) | flushes a stream and emits the content if it is using a basic_syncbuf (function template) [edit] |
| Defined in header | |
| resetiosflags | clears the specified ios_base flags (function) [edit] |
| setiosflags | sets the specified ios_base flags (function) [edit] |
| setbase | changes the base used for integer I/O (function) [edit] |
| setfill | changes the fill character (function template) [edit] |
| setprecision | changes floating-point precision (function) [edit] |
| setw | changes the width of the next input/output field (function) [edit] |
| get_money(C++11) | parses a monetary value (function template) [edit] |
| put_money(C++11) | formats and outputs a monetary value (function template) [edit] |
| get_time(C++11) | parses a date/time value of specified format (function template) [edit] |
| put_time(C++11) | formats and outputs a date/time value according to the specified format (function template) [edit] |
| quoted(C++14) | inserts and extracts quoted strings with embedded spaces (function template) [edit] |