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

std::ios_base::setf

科技促进发展:监督办[医]基地:SETF

fmtflags setf( fmtflags flags (1)
fmtflags setf( fmtflags flags, fmtflags mask (2)

将格式化标志设置为指定的设置。

1%29设置由flags有效地执行以下操作fl = fl | flags何地fl定义内部格式标志的状态。

2%29清除下面的格式标志mask,并将已清除的标志设置为flags有效地执行以下操作fl = (fl & ~mask) | (flags & mask)何地fl定义内部格式标志的状态。

参数

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: 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|0. 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|(scientific|fixed)|0. 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 uppercaseequivalents in certain output output operations: see std::uppercaseConstantExplanationdecuse decimal base for integer I/O: see std::decoctuse octal base for integer I/O: see std::octhexuse hexadecimal base for integer I/O: see std::hexbasefielddec|oct|hex|0. Useful for masking operationsleftleft adjustment (adds fill characters to the right): see std::leftrightright adjustment (adds fill characters to the left): see std::rightinternalinternal adjustment (adds fill characters to the internal designated point): see std::internaladjustfieldleft|right|internal. Useful for masking operationsscientificgenerate floating point types using scientific notation, or hex notation if combined with fixed: see std::scientificfixedgenerate floating point types using fixed notation, or hex notation if combined with scientific: see std::fixedfloatfieldscientific|fixed|(scientific|fixed)|0. Useful for masking operationsboolalphainsert and extract bool type in alphanumeric format: see std::boolalphashowbasegenerate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: see std::showbaseshowpointgenerate a decimal-point character unconditionally for floating-point number output: see std::showpointshowposgenerate a + character for non-negative numeric output: see std::showposskipwsskip leading whitespace before certain input operations: see std::skipwsunitbufflush the output after each output operation: see std::unitbufuppercasereplace certain lowercase letters with their uppercaseequivalents in certain output output operations: see std::uppercase
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> #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'; } }

二次

产出:

二次

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

二次

另见

flagsmanages format flags (public member function)
unsetfclears specific format flag (public member function)

© cppreference.com

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

http://en.cppreference.com/w/cpp/io/IOS[医]基地/SETF