Namespaces
Variants

std::ios_base:: setf

From cppreference.net
fmtflags setf ( fmtflags flags ) ;
(1)
fmtflags setf ( fmtflags flags, fmtflags mask ) ;
(2)

書式設定フラグを指定された設定にセットします。

1) 識別されたフォーマットフラグを flags で設定します。実質的に以下の操作が実行されます fl = fl | flags 。ここで fl は内部フォーマットフラグの状態を定義します。
2) 書式フラグを mask で指定されたビットをクリアし、クリアされたフラグを flags で指定された値に設定する。実質的に以下の操作が実行される fl = ( fl & ~mask ) | ( flags & mask ) ここで fl は内部書式フラグの状態を定義する。

目次

パラメータ

flags, mask - 新しい書式設定。 mask は変更可能なフラグを定義し、 flags は変更対象フラグのうち設定すべきフラグを定義する(他のフラグはクリアされる)。両パラメータは 書式フラグ 定数の組み合わせを指定可能
フォーマットフラグ
定数 説明
dec 整数I/Oに10進基数を使用: std::dec を参照
oct 整数I/Oに8進基数を使用: std::oct を参照
hex 整数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 <iomanip>
#include <iostream>
#include <numbers>
int main()
{
    const double PI = std::numbers::pi;
    const int WIDTH = 15;
    std::cout.setf(std::ios::right); // 同等: cout << right;
    std::cout << std::setw(WIDTH / 2) << "radius"
              << std::setw(WIDTH) << "circumference" << '\n';
    std::cout.setf(std::ios::fixed); // 同等: cout << fixed;
    for (double radius = 1; radius <= 6; radius += 0.5)
        std::cout << std::setprecision(1) << std::setw(WIDTH / 2)
                  << radius
                  << std::setprecision(2) << std::setw(WIDTH)
                  << (2 * PI * radius) << '\n';
}

出力:

 radius  circumference
    1.0           6.28
    1.5           9.42
    2.0          12.57
    2.5          15.71
    3.0          18.85
    3.5          21.99
    4.0          25.13
    4.5          28.27
    5.0          31.42
    5.5          34.56
    6.0          37.70

関連項目

フォーマットフラグを管理する
(public member function)
特定のフォーマットフラグをクリアする
(public member function)