##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### 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.

Run this code

    #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

flags | manages format flags (public member function) [edit]
setf | sets specific format flag (public member function) [edit]
unsetf | clears specific format flag (public member function) [edit]
setbase | changes the base used for integer I/O (function) [edit]
setfill | changes the fill character (function template) [edit]
fixed scientific hexfloat defaultfloat (C++11)(C++11) | changes formatting used for floating-point I/O (function) [edit]
showbase noshowbase | controls whether prefix is used to indicate numeric base (function) [edit]
boolalpha noboolalpha | switches between textual and numeric representation of booleans (function) [edit]
showpos noshowpos | controls whether the `+` sign used with non-negative numbers (function) [edit]
showpoint noshowpoint | controls whether decimal point is always included in floating-point representation (function) [edit]
unitbuf nounitbuf | controls whether output is flushed after each operation (function) [edit]
skipws noskipws | controls whether leading whitespace is skipped on input (function) [edit]
uppercase nouppercase | controls whether uppercase characters are used with some output formats (function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/ios_base/fmtflags&oldid=65796"