std::ios_base::fmtflags (3) - Linux Manuals

std::ios_base::fmtflags: std::ios_base::fmtflags

NAME

std::ios_base::fmtflags - std::ios_base::fmtflags

Synopsis


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

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

See also


             manages format flags
flags (public member function)
             sets specific format flag
setf (public member function)
             clears specific format flag
unsetf (public member function)
             changes the base used for integer I/O
setbase (function)
             changes the fill character
setfill (function template)


fixed
scientific
hexfloat
defaultfloat changes formatting used for floating-point I/O
             (function)


(C++11)
(C++11)
             controls whether prefix is used to indicate numeric base
showbase (function)
noshowbase
             switches between textual and numeric representation of booleans
boolalpha (function)
noboolalpha
             controls whether the + sign used with non-negative numbers
showpos (function)
noshowpos
             controls whether decimal point is always included in floating-point representation
showpoint (function)
noshowpoint
             controls whether output is flushed after each operation
unitbuf (function)
nounitbuf
             controls whether leading whitespace is skipped on input
skipws (function)
noskipws
             controls whether uppercase characters are used with some output formats
uppercase (function)
nouppercase