以下の内容はhttps://toburau.hatenablog.jp/entry/20090221/1235228051より取得しました。


iosクラスのメンバ関数で書式化

coutといったストリームでは書式化するためのメンバ関数や書式フラグが用意されている。
書式フラグを設定する関数はsetf()。解除する関数はunsetf()。フラグはfmtflagsという列挙型。他にもフィールド幅を設定するwidth()といったものある。

#include <iostream>
using namespace std;

void main()
{
    ios::fmtflags f;

    cout.setf(ios::showpos); // showposは正の値にプラスを付けて表示
    cout << 123 << endl;
    cout.unsetf(ios::showpos);
    cout << 123 << endl;

    f = cout.flags();
    cout << f << endl;

    cout.width(10); // フィールド幅を設定
    cout << 123 << endl;
}

実行結果
+123
123
513
       123

他にもいろいろなものが用意されており、いろんな書式で出力することができる。
私はこれらの関数やフラグをほとんど知らなかった。そもそもストリーム自体をあんまり使うことがない。文字列の出力にはprintfを使うことが多い。




以上の内容はhttps://toburau.hatenablog.jp/entry/20090221/1235228051より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14