std::ios_base::setf
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Input/output library 
 
 
 
 
 
 
 
 
 
 
 
 
 Print functions (C++23)
 Buffers
(C++23)
(C++98/26*)
(C++20)
 Streams
 Abstractions
 File I/O
 String I/O
 Array I/O
(C++23)
(C++23)
(C++23)
(C++98/26*)
(C++98/26*)
(C++98/26*)
 Synchronized Output
(C++20)
 Types
 Error category interface
(C++11)
(C++11)
std::ios_base 
 
 Member functions
 Formatting
ios_base::setf
 Locales
 Internal extensible array
 Miscellaneous
 Member classes
 Member types
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.[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 formatting flags constants
[edit] Formatting flags
 Constant
 Explanation
 basefield
 dec | oct | hex. Useful for masking operations
 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
 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 
 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 
[edit] Return value
The formatting flags before the call to the function.
[edit] Example
Run this code
#include <iomanip> #include <iostream> #include <numbers> int main() { const double PI = std::numbers::pi ; 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); // equivalent: cout << 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