名稱空間
變體
操作

std::ios_base::fmtflags

來自 cppreference.com
< cpp‎ | io‎ | ios_base
 
 
 
 
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 = 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 = left | right | internal;
static constexpr fmtflags scientific = /*implementation defined*/

static constexpr fmtflags fixed = /*implementation defined*/

static constexpr fmtflags floatfield = 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。定義了以下常量:

常量 解釋
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 所用的格式
(函式) [編輯]
控制是否使用字首指示數字基數
(函式) [編輯]
在布林值的文字表示和數字表示之間切換
(函式) [編輯]
控制非負數是否使用 + 符號
(函式) [編輯]
控制浮點表示中是否始終包含小數點
(函式) [編輯]
控制每次操作後是否重新整理輸出
(函式) [編輯]
控制輸入時是否跳過前導空白字元
(函式) [編輯]
控制某些輸出格式是否使用大寫字元
(函式) [編輯]