Namespaces
Variants
Views
Actions

std::ios_base::setf

From cppreference.com
< cpp‎ | io‎ | ios base
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.

Contents

[edit] Parameters

flags, mask - 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
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] Return value

the formatting flags before the call to the function

[edit] Example

#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

[edit] See also

manages format flags
(public member function) [edit]
clears specific format flag
(public member function) [edit]