BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ printf関数による表示において任意の個数のスペースを表示するにはどうすればよいでしょうか。

 printf関数に与える書式文字列を"%*s"として、さらに、「表示すべきスペースの個数」と「空文字列」とを渡すことによって実現できます。具体的には、

printf("%*s", n, "");

とします。これは、『空の文字列を少なくともn桁の幅で出力せよ。』という指示です。そのため、このプログラム部分を実行すると、n個の空白文字が連続して出力されることになります。
 以下に示すのは、より応用的なプログラム例です。
ABCXYZ
ABC XYZ
ABC  XYZ
ABC   XYZ
ABC    XYZ
ABC     XYZ
ABC      XYZ
ABC       XYZ
ABC        XYZ
ABC         XYZ

#include <stdio.h> int main(void) { int i; for (i = 0; i < 10; i++) printf("ABC%*sXYZ\n", i, ""); return 0; }

 このプログラムは、iの値を0から9までインクリメントしながら、ABCとXYZの間にi個のスペース、すなわち、0~9個のスペースを表示します。そのため、右に示す実行結果が得られることになります。

■ 参照 ■
FAQ printf関数による表示における出力桁数を変数として指定するにはどうすればよいでしょうか。
関数 fprintf関数

戻る

BohYoh.comロゴ