Scroll to navigation

std::ios_base::setf(3) C++ Standard Libary std::ios_base::setf(3)

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
generate floating point types using scientific notation,
scientific or hex notation if combined with fixed: see
flags, mask - 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
generate a prefix indicating the numeric base for integer
showbase 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
replace certain lowercase letters with their uppercase
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


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

2022.07.31 http://cppreference.com