
218
13
章 入出力
Mary has 120 points
(
%%
を除く)すべての変換指定は、次の一般形式を持つ。
%[
flags
][
field_width
][.
precision
][
length_modifier
]
specifier
この構文の角括弧の部分は省略できるが、指定するときにはこの順序でなければならな
い。各引数型で使用できる変換指定子は以後の節で述べる。変換指定子はフィールド幅を
含むことができる。精度はすべての変換指定子に適用されるわけではないが、その重要性
は指定子によって異なる。
13.4.4.3
フィールド幅
フィールド幅オプションは表形式出力で特に威力を発揮する。フィールド幅は正の10進
整数(またはすぐ後で述べるようにアスタリスク)でなければならない。対応するデータ要
素の出力の最小文字数を指定する。デフォルトの振る舞いは変換データをフィールドの右
寄せで左に空白を埋める。フラグにマイナス記号(
-
)があれば情報は左寄せで、右に空白
が埋められる。
次の例では、フィールド幅オプションの効果がわかるように第1行で文字位置に番号を
振っている。
printf("1234567890123456\n"); //
文字位置
printf("%-10s %s\n", "Player", "Score"); //
表題名
printf("%-10s %4d\n", "John", 120); //
フィールド幅
: 10; 4.
printf("%-10s %4d\n", "Mary", 77);