The GNU C++ Iostream Library - Manipulators

Node: Manipulators Next: Extending Prev: Format Control Up: Ios

Changing stream properties using manipulators

For convenience, manipulators provide a way to change certain properties of streams, or otherwise affect them, in the middle of expressions involving `<<' or `>>'. For example, you might write

	cout << "|" << setfill('*') << setw(5) << 234 << "|";

to produce `|**234|' as output.

Manipulator ws
Skip whitespace.

Manipulator flush
Flush an output stream. For example, `cout << ... <<flush;' has the same effect as `cout << ...; cout.flush();'.

Manipulator endl
Write an end of line character `\n', then flushes the output stream.

Manipulator ends
Write `\0' (the string terminator character).

Manipulator setprecision (int signif)
You can change the value of ios::precision in `<<' expressions with the manipulator `setprecision(signif)'; for example,

	cout << setprecision(2) << 4.567;

prints `4.6'. Requires `#include <iomanip.h>'.

Manipulator setw (int n)
You can change the value of ios::width in `<<' expressions with the manipulator `setw(n)'; for example,

	cout << setw(5) << 234;

prints `234' with two leading blanks. Requires `#include <iomanip.h>'.

Manipulator setbase (int base)
Where base is one of 10 (decimal), 8 (octal), or 16 (hexadecimal), change the base value for numeric representations. Requires `#include <iomanip.h>'.

Manipulator dec
Select decimal base; equivalent to `setbase(10)'.

Manipulator hex
Select hexadecimal base; equivalent to `setbase(16)'.

Manipulator oct
Select octal base; equivalent to `setbase(8)'.

Manipulator setfill (char padding)
Set the padding character, in the same way as ios::fill . Requires `#include <iomanip.h>'.


Next: Extending Up: Ios