ios_base::fmtflags

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

声明

以下是ios_base::fmtflags的声明。

std::ios_base::fmtflags ff;

还可以使用由三组选择性标志的每一组的值的组合构成的三个附加位掩码常数,如下所示 -

标志值 相当于
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

上一篇: ios库<ios> 下一篇:无