The GNU C++ Iostream Library



3.1.2: Choices in formatting

These methods control (or report on) settings for some details of controlling streams, primarily to do with formatting output:


Method:  char ios::fill () const

Report on the padding character in use.

Method:  char ios::fill (char padding)

Set the padding character. You can also use the manipulator setfill. See Manipulators.

Default: blank.


Method:  int ios::precision () const

Report the number of significant digits currently in use for output of floating point numbers.

Default: 6.


Method:  int ios::precision (int signif)

Set the number of significant digits (for input and output numeric conversions) to signif.

You can also use the manipulator setprecision for this purpose. See Manipulators.


Method:  int ios::width () const

Report the current output field width setting (the number of characters to write on the next `<<' output operation).

Default: 0, which means to use as many characters as necessary.


Method:  int ios::width (int num)

Set the input field width setting to num. Return the previous value for this stream.

This value resets to zero (the default) every time you use `<<'; it is essentially an additional implicit argument to that operator. You can also use the manipulator setw for this purpose. See Manipulators.


Method:  fmtflags ios::flags () const

Return the current value of the complete collection of flags controlling the format state. These are the flags and their meanings when set:
ios::dec
ios::oct
ios::hex
What numeric base to use in converting integers from internal to display representation, or vice versa: decimal, octal, or hexadecimal, respectively. (You can change the base using the manipulator setbase, or any of the manipulators dec, oct, or hex; see Manipulators.)

On input, if none of these flags is set, read numeric constants according to the prefix: decimal if no prefix (or a `.' suffix), octal if a `0' prefix is present, hexadecimal if a `0x' prefix is present.

Default: dec.

ios::fixed
Avoid scientific notation, and always show a fixed number of digits after the decimal point, according to the output precision in effect. Use ios::precision to set precision.
ios::left
ios::right
ios::internal
Where output is to appear in a fixed-width field; left-justified, right-justified, or with padding in the middle (e.g. between a numeric sign and the associated value), respectively.
ios::scientific
Use scientific (exponential) notation to display numbers.
ios::showbase
Display the conventional prefix as a visual indicator of the conversion base: no prefix for decimal, `0' for octal, `0x' for hexadecimal.
ios::showpoint
Display a decimal point and trailing zeros after it to fill out numeric fields, even when redundant.
ios::showpos
Display a positive sign on display of positive numbers.
ios::skipws
Skip white space. (On by default).
ios::stdio
Flush the C stdio streams stdout and stderr after each output operation (for programs that mix C and C++ output conventions).
ios::unitbuf
Flush after each output operation.
ios::uppercase
Use upper-case characters for the non-numeral elements in numeric displays; for instance, `0X7A' rather than `0x7a', or `3.14E+09' rather than `3.14e+09'.

Method:  fmtflags ios::flags (fmtflags value)

Set value as the complete collection of flags controlling the format state. The flag values are described under `ios::flags ()'.

Use ios::setf or ios::unsetf to change one property at a time.


Method:  fmtflags ios::setf (fmtflags flag)

Set one particular flag (of those described for `ios::flags ()'; return the complete collection of flags previously in effect. (Use ios::unsetf to cancel.)

Method:  fmtflags ios::setf (fmtflags flag, fmtflags mask)

Clear the flag values indicated by mask, then set any of them that are also in flag. (Flag values are described for `ios::flags ()'.) Return the complete collection of flags previously in effect. (See ios::unsetf for another way of clearing flags.)

Method:  fmtflags ios::unsetf (fmtflags flag)

Make certain flag (a combination of flag values described for `ios::flags ()') is not set for this stream; converse of ios::setf. Returns the old values of those flags.


Translated 02/24/96 by Rance Necaise. Original texi file by Bothner and Pesch.