C++ 教程

C++ 教程 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学运算 C++ 布尔值 C++ 条件语句 C++ Switch 语句 C++ While 循环 C++ For 循环 C++ Break/Continue 语句 C++ 数组 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载

C++ 面向对象

C++ OOP C++ 类和对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态

C++ 高级教程

C++ 文件 C++ 异常处理 C++ 动态内存 C++ 命名空间 C++ 模板 C++ 预处理器 C++ 信号处理 C++ 多线程 C++ Web 编程 C++ 正则表达式

C++ 如何使用

C++ 两个数字相加

C++ 标准库参考

C++ 标准库 - 简介 C++ 标准库 - <fstream> C++ 标准库 - <iomanip> C++ 标准库 - <ios> C++ 标准库 - <iosfwd> C++ 标准库 - <iostream> C++ 标准库 - <istream> C++ 标准库 - <ostream> C++ 标准库 - <sstream> C++ 标准库 - <streambuf> C++ 标准库 - <atomic> C++ 标准库 - <complex> C++ 标准库 - <exception> C++ 标准库 - <functional> C++ 标准库 - <limits> C++ 标准库 - <locale> C++ 标准库 - <memory> C++ 标准库 - <new> C++ 标准库 - <numeric> C++ 标准库 - <regex> C++ 标准库 - <stdexcept> C++ 标准库 - <string> C++ 标准库 - <thread> C++ 标准库 - <tuple> C++ 标准库 - <typeinfo> C++ 标准库 - <utility> C++ 标准库 - <valarray>

C++ 模板库参考

C++ STL 库 - <array> C++ STL 库 - <bitset> C++ STL 库 - <deque> C++ STL 库 - <forward_list> C++ STL 库 - <list> C++ STL 库 - <map> C++ STL 库 - <queue> C++ STL 库 - <set> C++ STL 库 - <stack> C++ STL 库 - <unordered_map> C++ STL 库 - <unordered_set> C++ STL 库 - <vector> C++ STL 库 - <algorithm> C++ STL 库 - <iterator>

C++ 实例

C++ 实例 C++ 练习 C++ 测验



C++ ios_base fmtflags

描述

此类型被成员函数标志 setf 和 unsetf 用作其参数和/或返回值。


声明

以下是 ios_base::fmtflags 的声明。

std::ios_base::fmtflags ff;

这些函数传递和检索的值可以是以下成员常量的任何有效组合,如下所示 −

字段 成员常量 设置时的效果
independent flags boolalpha r以字母字符串形式读取/写入 bool 元素(truefalse)。
showbase 在对应的数字基前缀之前写入整数值。
showpoint 写入浮点值,始终包括小数点。
showpos 写入非负数值,并在前面加上加号 (+)。
skipws 跳过某些输入操作的前导空格。
unitbuf 每次插入操作后刷新输出。
uppercase 在某些插入操作中用大写字母替换小写字母。

numerical base

(basefield)

dec 使用十进制格式读取/写入整数值。
hex 使用十六进制基本格式读取/写入整数值。
oct 使用八进制格式读取/写入整数值。

float format

(floatfield)

fixed 以定点表示法写入浮点值。
scientific 用科学计数法写浮点值。

adjustment

(adjustfield)

internal 通过在指定的内部点插入 fill characters 将输出填充到 field width
left 输出被填充到 field width 并在末尾附加 fill characters
right 通过在开头插入 fill characters 将输出填充到 field width

如下所示,也可以使用由三组选择性标志中每组的值组合而成的三个附加位掩码常数。

标志值 相当于
adjustfield left | right | internal
basefield dec | oct | hex
floatfield scientific | fixed

可以使用 OR 位运算符 (|) 将这些常量的值组合成单个 fmtflags 值。

示例

在下面的示例中显示了 ios_base::fmtflags。

#include <iostream>

int main () {

   std::cout.setf (std::ios_base::hex , std::ios_base::basefield);
   std::cout.setf (std::ios_base::showbase);
   std::cout << 100 << '\n';

   std::cout.setf (std::ios::hex , std::ios::basefield);
   std::cout.setf (std::ios::showbase);
   std::cout << 100 << '\n';

   std::cout.setf (std::cout.hex , std::cout.basefield);
   std::cout.setf (std::cout.showbase);
   std::cout << 100 << '\n';

   std::ios_base::fmtflags ff;
   ff = std::cout.flags();
   ff &= ~std::cout.basefield;   
   ff |= std::cout.hex;          
   ff |= std::cout.showbase;     
   std::cout.flags(ff);
   std::cout << 100 << '\n';

   std::cout << std::hex << std::showbase << 100 << '\n';

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 −

0x64
0x64
0x64
0x64
0x64

❮ C++ 标准库 - <ios>