在线文档教程
C++
输入/输出 | Input/output

std::ios_base::fmtflags

科技促进发展:监督办[医]基::fmt标志

typedef /*implementation defined*/ fmtflags;
static constexpr fmtflags dec = /*implementation defined*/ static constexpr fmtflags oct = /*implementation defined*/ static constexpr fmtflags hex = /*implementation defined*/ static constexpr fmtflags basefield = /*implementation defined (dec | oct | hex)*/
static constexpr fmtflags left = /*implementation defined*/ static constexpr fmtflags right = /*implementation defined*/ static constexpr fmtflags internal = /*implementation defined*/ static constexpr fmtflags adjustfield = /*implementation defined (left | right | internal)*/
static constexpr fmtflags scientific = /*implementation defined*/ static constexpr fmtflags fixed = /*implementation defined*/ static constexpr fmtflags floatfield = /*implementation defined (scientific | fixed)*/
static constexpr fmtflags boolalpha = /*implementation defined*/ static constexpr fmtflags showbase = /*implementation defined*/ static constexpr fmtflags showpoint = /*implementation defined*/ static constexpr fmtflags showpos = /*implementation defined*/ static constexpr fmtflags skipws = /*implementation defined*/ static constexpr fmtflags unitbuf = /*implementation defined*/ static constexpr fmtflags uppercase = /*implementation defined*/

指定可用的格式设置标志。这是一个BitmaskType.定义如下常数:

ConstantExplanation
decuse decimal base for integer I/O: see std::dec
octuse octal base for integer I/O: see std::oct
hexuse hexadecimal base for integer I/O: see std::hex
basefielddec|oct|hex|0. Useful for masking operations
leftleft adjustment (adds fill characters to the right): see std::left
rightright adjustment (adds fill characters to the left): see std::right
internalinternal adjustment (adds fill characters to the internal designated point): see std::internal
adjustfieldleft|right|internal. Useful for masking operations
scientificgenerate floating point types using scientific notation, or hex notation if combined with fixed: see std::scientific
fixedgenerate floating point types using fixed notation, or hex notation if combined with scientific: see std::fixed
floatfieldscientific|fixed|(scientific|fixed)|0. Useful for masking operations
boolalphainsert and extract bool type in alphanumeric format: see std::boolalpha
showbasegenerate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: see std::showbase
showpointgenerate a decimal-point character unconditionally for floating-point number output: see std::showpoint
showposgenerate a + character for non-negative numeric output: see std::showpos
skipwsskip leading whitespace before certain input operations: see std::skipws
unitbufflush the output after each output operation: see std::unitbuf
uppercasereplace certain lowercase letters with their uppercaseequivalents in certain output output operations: see std::uppercase

下面的示例显示了打印相同结果的几种不同方法。

二次

#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'; }

二次

产出:

二次

0x96 0x96 0x96 0x96 0x96

二次

另见

flagsmanages format flags (public member function)
setfsets specific format flag (public member function)
unsetfclears specific format flag (public member function)
setbasechanges the base used for integer I/O (function)
setfillchanges the fill character (function template)
fixedscientifichexfloatdefaultfloat (C++11)(C++11)changes formatting used for floating-point I/O (function)
showbasenoshowbasecontrols whether prefix is used to indicate numeric base (function)
boolalphanoboolalphaswitches between textual and numeric representation of booleans (function)
showposnoshowposcontrols whether the + sign used with non-negative numbers (function)
showpointnoshowpointcontrols whether decimal point is always included in floating-point representation (function)
unitbufnounitbufcontrols whether output is flushed after each operation (function)
skipwsnoskipwscontrols whether leading whitespace is skipped on input (function)
uppercasenouppercasecontrols whether uppercase characters are used with some output formats (function)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/IOS[医]基/fmt标志