まくまくC/C++ノート
printf のフォーマット文字列でインデントの空白を出力する
2008-04-11
printf(">>>%*c<<<\n", 4, ' ');

このように %c の間に width パラメータとして * を指定すると、可変パラメータ部分で指定した文字数で出力幅の下限値を設定できます。 つまり、上記のようにすると、スペースを 4 文字分の幅で出力しようとするので、結果として 4 文字のスペースが出力されます。

出力結果

>>>    <<<<

ただし、この方法では、width パラメータに 0 を指定しても、1 文字のスペースが表示されてしまうことに注意してください。

2008-04-11