Cpp-standard-library-cpp-ios-fmtflags
C ++ ios_base fmtflags
説明
この型は、メンバー関数flags、setfおよびunsetfによってパラメーターおよび/または戻り値として使用されます。
宣言
- 以下は、ios_base
- fmtflagsの宣言です。
std::ios_base::fmtflags ff;
これらの関数によって渡され、取得される値は、以下に示すように、次のメンバー定数の任意の有効な組み合わせにすることができます-
フィールド
メンバー定数
設定時の効果
独立フラグ
+ boolalpha +
bool要素をアルファベット文字列として読み書きします( + true +`および `+ false +
)。
+ showbase +
対応する数値ベースプレフィックスの後に整数値を書き込みます。
+ showpoint +
常に小数点を含む浮動小数点値を書き込みます。
+ showpos +
プラス記号(+)が前に付いた非負の数値を書き込みます。
+ skipws +
特定の入力操作で先頭の空白をスキップします。
+ unitbuf +
挿入操作ごとに出力をフラッシュします。
大文字
特定の挿入操作で小文字を置き換える大文字を書きます。
数値ベース
( + basefield +
)
+ dec +
10進基本形式を使用した整数値の読み取り/書き込み。
+ hex +
16進基本形式を使用した整数値の読み取り/書き込み。
+ oct +
8進基本形式を使用した整数値の読み取り/書き込み。
float format
( + floatfield +
)
+ fixed +
固定小数点表記で浮動小数点値を書き込みます。
+ scientific +
科学表記法で浮動小数点値を書き込みます。
調整
( + adjustfield +
)
内部
指定された内部ポイントに_fill characters_を挿入することにより、出力が_field width_に埋め込まれます。
左
出力は、_field width_に埋め込まれ、最後に_fill characters_が追加されます。
右
_fill characters_を先頭に挿入することにより、出力は_field width_に埋め込まれます。
以下に示すように、選択フラグの3つのグループのそれぞれの値の組み合わせで構成される3つの追加のビットマスク定数も使用できます。
flag value | equivalent to |
---|---|
adjustfield
|
`+left |
right | internal+` |
basefield
|
`+dec |
oct | hex+` |
floatfield
|
`+scientific |
これらの定数の値は、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