Namespaces
Variants
Views
Actions

std::ios_base::fmtflags

From cppreference.com
< cpp‎ | io‎ | ios base
typedef /*implementation defined*/ fmtflags;
static constexpr fmtflags dec = /*implementation defined*/

static constexpr fmtflags oct = /*implementation defined*/
static constexpr fmtflags hex = /*implementation defined*/

static constexpr fmtflags basefield = /*implementation defined (dec | oct | hex)*/
static constexpr fmtflags left = /*implementation defined*/

static constexpr fmtflags right = /*implementation defined*/
static constexpr fmtflags internal = /*implementation defined*/

static constexpr fmtflags adjustfield = /*implementation defined (left | right | internal)*/
static constexpr fmtflags scientific = /*implementation defined*/

static constexpr fmtflags fixed = /*implementation defined*/

static constexpr fmtflags floatfield = /*implementation defined (scientific | fixed)*/
static constexpr fmtflags boolalpha = /*implementation defined*/

static constexpr fmtflags showbase = /*implementation defined*/
static constexpr fmtflags showpoint = /*implementation defined*/
static constexpr fmtflags showpos = /*implementation defined*/
static constexpr fmtflags skipws = /*implementation defined*/
static constexpr fmtflags unitbuf = /*implementation defined*/

static constexpr fmtflags uppercase = /*implementation defined*/

Specifies available formatting flags. It is a BitmaskType, the following constants are defined:

Constant Explanation
dec use decimal base for integer I/O
oct use octal base for integer I/O
hex use hexadecimal base for integer I/O
basefield dec|oct|hex|0. Useful for masking operations
left left adjustment (adds fill characters to the right)
right right adjustment (adds fill characters to the left)
internal internal adjustment (adds fill characters to the internal designated point)
adjustfield left|right|internal. Useful for masking operations
scientific generate floating point types using scientific notation, or hex notation if combined with fixed
fixed generate floating point types using fixed notation, or hex notation if combined with scientific
floatfield scientific|fixed|(scientific|fixed)|0. Useful for masking operations
boolalpha insert and extract bool type in alphanumeric format
showbase generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O
showpoint generate a decimal-point character unconditionally for floating-point number output
showpos generate a + character for non-negative numeric output
skipws skip leading whitespace before certain input operations
unitbuf flush the output after each output operation
uppercase replace certain lowercase letters with their uppercase
equivalents in certain output output operations

[edit] Example

The following example shows several different ways to print the same result.

#include <iostream>
 
int main() 
{
    int num = 150;
 
    // using fmtflags as class member constants:
    std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
    std::cout.setf(std::ios_base::showbase);
    std::cout << num << '\n';
 
    // using fmtflags as inherited class member constants:
    std::cout.setf (std::ios::hex , std::ios::basefield);
    std::cout.setf (std::ios::showbase);
    std::cout << num << '\n';
 
    // using fmtflags as object member constants:
    std::cout.setf(std::cout.hex, std::cout.basefield);
    std::cout.setf(std::cout.showbase);
    std::cout << num << '\n';
 
    // using fmtflags as a type:
    std::ios_base::fmtflags ff;
    ff = std::cout.flags();
    ff &= ~std::cout.basefield;   // unset basefield bits
    ff |= std::cout.hex;          // set hex
    ff |= std::cout.showbase;     // set showbase
    std::cout.flags(ff);
    std::cout << num << '\n';
 
    // not using fmtflags, but using manipulators:
    std::cout << std::hex << std::showbase << num << '\n';
}

Output:

0x96
0x96
0x96
0x96
0x96

[edit] See also

manages format flags
(public member function) [edit]
sets specific format flag
(public member function) [edit]
clears specific format flag
(public member function) [edit]
changes the base used for integer I/O
(function) [edit]
changes the fill character
(function template) [edit]
changes formatting used for floating-point I/O
(function) [edit]
controls whether prefix is used to indicate numeric base
(function) [edit]
switches between textual and numeric representation of booleans
(function) [edit]
controls whether the + sign used with non-negative numbers
(function) [edit]
controls whether decimal point is always included in floating-point representation
(function) [edit]
controls whether output is flushed after each operation
(function) [edit]
controls whether leading whitespace is skipped on input
(function) [edit]
controls whether uppercase characters are used with some output formats
(function) [edit]