名前空間
変種
操作

std::ios_base::fmtflags

From 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です。以下の定数が定義されています。

Constant 説明
10進 整数I/Oには10進数を指定します。詳細はstd::decを参照してください。
8進 整数I/Oには8進数を指定します。詳細はstd::octを参照してください。
16進 整数I/Oには16進数を指定します。詳細はstd::hexを参照してください。
basefield dec | oct | hex。マスキング操作に便利です。
left 左寄せ(右側に埋め文字を追加します):詳細はstd::leftを参照してください。
right 右寄せ(左側に埋め文字を追加します):詳細はstd::rightを参照してください。
internal 内部調整(内部指定された位置に埋め文字を追加します):詳細はstd::internalを参照してください。
adjustfield left | right | internal。マスキング操作に便利です。
scientific 浮動小数点型を科学的表記法で生成します。 fixed と組み合わせる場合は16進数表記法になります:詳細はstd::scientificを参照してください。
fixed 浮動小数点型を固定表記法で生成します。 scientific と組み合わせる場合は16進数表記法になります:詳細は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

[編集] 関連項目

書式フラグを管理する
(public メンバ関数) [編集]
特定の書式フラグを設定する
(public メンバ関数) [編集]
特定の書式フラグをクリアする
(public メンバ関数) [編集]
整数I/Oで使用する基数を変更する
(関数) [編集]
埋め文字を変更する
(関数テンプレート) [編集]
浮動小数点I/Oで使用するフォーマットを変更する
(関数) [編集]
数値の基数を示す接頭辞を使用するかどうかを制御する
(関数) [編集]
bool値のテキスト表現と数値表現を切り替える
(関数) [編集]
非負数に+記号を使用するかどうかを制御する
(関数) [編集]
浮動小数点表現に常に小数点を含めるかどうかを制御する
(関数) [編集]
各操作後に出力をフラッシュするかどうかを制御する
(関数) [編集]
入力時に先頭の空白文字をスキップするかどうかを制御する
(関数) [編集]
一部の出力フォーマットで大文字を使用するかどうかを制御する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)