前回のサンプルでは、printfの引数に%dを指定する事で、int型の変数値を表示させていました。
この%dの事を書式指定子(conversion specifier)と呼びます。
よく使用される書式指定子には以下のものがあります。
%の後に変換文字を書く事で表示方法を指定できます。
%d 整数を表示させる %s 文字列を表示させる %c 指定された文字コードに対応する,ASCII文字を1文字分表示させる %f 浮動小数点の値を表示(doubleまたはfloat) %d 浮動小数点の値を表示(double) %x 16進数で値を表示 %g 数字を指数表現で表示 %p ポインタ変数のアドレスを表示 |
さらに、%と変換文字の間には、以下の文字を書く事もできます。
桁数指定の数字 マイナス記号 精度 |
精度は、lを書く事でlongを意味し、hがshortを意味します。
%hd short intの値を表示 %ld long intの値を表示 %lld long long intの値を表示 |
桁数指定の数字は、指定した分の幅を確保してくれます.
printf( "[%4d]", 12 ); /* [ 12] と表示される */ printf( "[%8.1f]", 12.345 ); /* [ 12.345] と表示される */ |
マイナス記号を使うと、左寄せで表示させることが出来ます。
printf( "[%-4d]", 12 ); /* [12 ] と表示される */ printf( "[%-8.1f]", 12.345 ); /* [12.345 ] と表示される */ |
印字幅を、固定ではなくプログラムから指定したい場合は”*”を使用します。
printf( "[%-*d]", 4, 12 ); /* [12 ] と表示される */ printf( "[%-*.*f]", 8, 1, 12.345 ); /* [12.345 ] と表示される */ |
パーセント自体を出したい場合は”%%”と表記します。
printf( "%d%%", 12 ); /* 12% と表示される */ |
関連記事
コメントを残す