Difference between revisions of "cpp/io/ios base/fmtflags"
(→Example) |
m (run-on sentence) |
||
Line 33: | Line 33: | ||
{{dcl end}} | {{dcl end}} | ||
− | Specifies available formatting flags. It is a {{concept|BitmaskType}} | + | Specifies available formatting flags. It is a {{concept|BitmaskType}}. The following constants are defined: |
{{cpp/io/ios_base/fmtflags consts}} | {{cpp/io/ios_base/fmtflags consts}} | ||
Revision as of 19:31, 13 October 2015
typedef /*implementation defined*/ fmtflags; |
||
static constexpr fmtflags dec = /*implementation defined*/ static constexpr fmtflags oct = /*implementation defined*/ |
||
static constexpr fmtflags left = /*implementation defined*/ static constexpr fmtflags right = /*implementation defined*/ |
||
static constexpr fmtflags scientific = /*implementation defined*/ static constexpr fmtflags fixed = /*implementation defined*/ |
||
static constexpr fmtflags boolalpha = /*implementation defined*/ static constexpr fmtflags showbase = /*implementation defined*/ |
||
Specifies available formatting flags. It is a Template:concept. 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.
#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 (public member function) | |
sets specific format flag (public member function) | |
clears specific format flag (public member function) | |
changes the base used for integer I/O (function) | |
changes the fill character (function template) | |
(C++11)(C++11) |
changes formatting used for floating-point I/O (function) |
controls whether prefix is used to indicate numeric base (function) | |
switches between textual and numeric representation of booleans (function) | |
controls whether the + sign used with non-negative numbers (function) | |
controls whether decimal point is always included in floating-point representation (function) | |
controls whether output is flushed after each operation (function) | |
controls whether leading whitespace is skipped on input (function) | |
controls whether uppercase characters are used with some output formats (function) |