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

std::ios_base::setf: std::ios_base::setf

NAME

std::ios_base::setf - std::ios_base::setf

Synopsis


fmtflags setf( fmtflags flags ); (1)
fmtflags setf( fmtflags flags, fmtflags mask ); (2)


Sets the formatting flags to specified settings.
1) Sets the formatting flags identified by flags. Effectively the following operation is performed fl = fl | flags where fl defines the state of internal formatting flags.
2) Clears the formatting flags under mask, and sets the cleared flags to those specified by flags. Effectively the following operation is performed fl = (fl & ~mask) | (flags & mask) where fl defines the state of internal formatting flags.

Parameters


              new formatting setting. mask defines which flags can be altered, flags defines which flags of those to be altered should be set (others will be cleared). Both parameters can be a combination of the following constants:


              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
flags, mask - 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

Return value


the formatting flags before the call to the function

Example


// Run this code


  #include <iostream>
  #include <iomanip>


  const double PI = 3.1415926535;


  int main()
  {
      const int WIDTH = 15;


      std::cout.setf(std::ios::right); //equivalent: cout << right;
      std::cout << std::setw(WIDTH/2) << "radius"
                << std::setw(WIDTH) << "circumference" << '\n';


      std::cout.setf(std::ios::fixed);
      for (double radius = 1; radius <= 6; radius += 0.5) {
          std::cout << std::setprecision(1) << std::setw(WIDTH/2)
                    << radius
                    << std::setprecision(2) << std::setw(WIDTH)
                    << (2 * PI * radius) << '\n';
      }
  }

Output:


  radius circumference
      1.0 6.28
      1.5 9.42
      2.0 12.57
      2.5 15.71
      3.0 18.85
      3.5 21.99
      4.0 25.13
      4.5 28.27
      5.0 31.42
      5.5 34.56
      6.0 37.70

See also


       manages format flags
flags (public member function)
       clears specific format flag
unsetf (public member function)