命名空间
变体
操作

std::ios_base::fmtflags

来自 cppreference.com
< cpp‎ | io‎ | ios base
 
 
 
 
typedef /*实现定义*/ fmtflags;
static constexpr fmtflags dec = /*实现定义*/

static constexpr fmtflags oct = /*实现定义*/
static constexpr fmtflags hex = /*实现定义*/

static constexpr fmtflags basefield = dec | oct | hex;
static constexpr fmtflags left = /*实现定义*/

static constexpr fmtflags right = /*实现定义*/
static constexpr fmtflags internal = /*实现定义*/

static constexpr fmtflags adjustfield = left | right | internal;
static constexpr fmtflags scientific = /*实现定义*/

static constexpr fmtflags fixed = /*实现定义*/

static constexpr fmtflags floatfield = scientific | fixed;
static constexpr fmtflags boolalpha = /*实现定义*/

static constexpr fmtflags showbase = /*实现定义*/
static constexpr fmtflags showpoint = /*实现定义*/
static constexpr fmtflags showpos = /*实现定义*/
static constexpr fmtflags skipws = /*实现定义*/
static constexpr fmtflags unitbuf = /*实现定义*/

static constexpr fmtflags uppercase = /*实现定义*/

指定可用的格式化标志。它是一个 BitmaskType。定义了以下常量

常量 解释
dec 对整数 I/O 使用十进制:参见 std::dec
oct 对整数 I/O 使用八进制:参见 std::oct
hex 对整数 I/O 使用十六进制:参见 std::hex
basefield dec | oct | hex. 用于掩码操作
left 左对齐(在右侧添加填充字符):参见 std::left
right 右对齐(在左侧添加填充字符):参见 std::right
internal 内部对齐(在内部指定点添加填充字符):参见 std::internal
adjustfield left | right | internal. 用于掩码操作
scientific 使用科学记数法生成浮点类型,如果与 fixed 结合使用,则使用十六进制记数法:参见 std::scientific
fixed 使用定点记数法生成浮点类型,如果与 scientific 结合使用,则使用十六进制记数法:参见 std::fixed
floatfield scientific | fixed. 用于掩码操作
boolalpha 以字母数字格式插入和提取 bool 类型:参见 std::boolalpha
showbase 生成一个前缀,指示整数输出的数字基数,在货币 I/O 中要求货币指示符:参见 std::showbase
showpoint 对于浮点数输出,无条件生成小数点字符:参见 std::showpoint
showpos 对于非负数字输出,生成一个 + 字符:参见 std::showpos
skipws 在某些输入操作之前跳过前导空白:参见 std::skipws
unitbuf 在每次输出操作后刷新输出:参见 std::unitbuf
uppercase 将某些小写字母替换为它们的大写字母
在某些输出操作中的等效项:参见 std::uppercase

[编辑] 示例

以下示例显示了几种不同的方式来打印相同的结果。

#include <iostream>
 
int main()
{
    const 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

[编辑] 另请参见

管理格式标志
(公共成员函数) [编辑]
设置特定格式标志
(公共成员函数) [编辑]
清除特定格式标志
(公共成员函数) [编辑]
更改用于整数 I/O 的基数
(函数) [编辑]
更改填充字符
(函数模板) [编辑]
更改用于浮点 I/O 的格式
(函数) [编辑]
控制是否使用前缀来指示数字基数
(函数) [编辑]
在布尔值文本和数字表示之间切换
(函数) [编辑]
控制是否使用+符号表示非负数
(函数) [编辑]
控制是否始终在浮点数表示中包含小数点
(函数) [编辑]
控制是否在每次操作后刷新输出
(函数) [编辑]
控制是否跳过输入时的前导空格
(函数) [编辑]
控制某些输出格式中是否使用大写字符
(函数) [编辑]