KID's World
 

おしながき
トップページ
プログラミング
研究
いんすぴ
色日記
ソフトウェア
KID's Worldの歴史
リンク
小出俊夫について


printf (stdio.h) - 書式つきの文字を変換し、画面に表示(stdoutへ出力)する


【書式】([ ]で囲まれたものは省いてもよい)
int printf(const char *format[, ...]);

 format に指定された文字列を先頭から一文字ずつ検査し、「%」文字があれば、以下のルールによって変換され、それ以外ならそのまま出力します。

%は、以下の書式で指定します。

  %[Flag][Width][.[Precision]][l]Type
Flag
  • - : 左づめで出力
  • + : 10進数で表示する時、負の場合だけでは無く、正の場合も「+」を付ける。
  • # : 8進数/16進数のとき、先頭に「0」/「0x」をつける。

Width

  • 出力の最小の幅を数値で指定。出力する文字がこの幅に満たない場合に先頭に空白を付け足して幅を満たす。出力する文字がこの幅を越えても、はみ出た分を切り捨てることは無い。先頭に0を付けると、空白部分が0で埋められる。

Precision

  • 数のを出力する時は小数点以下の精度、文字列の時は最大出力文字数を数値で指定。

l

    引数がlong型整数の時に指定する。

Type ... 変換指定文字

  • d : 10進数字
  • o : 8進数字
  • x : 16進数字(小文字)
  • X : 16進数字(大文字)
  • u : 符号なし10進数字
  • f : 実数(???.???で表示)
  • e : 浮動小数点(???.???e±???で表示)
  • E : 浮動小数点(???.???E±???で表示)
  • g : fかe、出力する文字が短くなるほうを使う
  • G : fかE、出力する文字が短くなるほうを使う
  • c : 文字
  • s : 文字列


【例】
%5dで出力すると、
「    1」   (空白を含めて全部で5文字、右詰めで表示される)
「  123」
「12345」
「123456」  (5文字を超えても切り捨てられない)

%05dで出力すると、
「00001」   (0で埋められる)
「00123」
「12345」
「123456」

%10.3fで出力すると、
「 12345.600」    (12345.6を指定、精度は3桁、全部で10文字表示される)
「123456.780」    (123456.78を指定)
「1234567.890」   (1234567.89を指定、11文字になってしまうが切り捨てられない)

%12.3eで出力すると、
「  1.235e+002」  (123.45を指定、全部で12文字表示される。精度は3桁、端数は四捨五入)

%10.5sで出力すると、
「       ABC」    ("ABC"を指定、全部で10文字表示、右づめで表示される)
「     ABCDE」    ("ABCDE"を指定)
「     ABCDE」    ("ABCDEFGHI"を指定、精度は5文字なので、切り捨て)

戻るには、ブラウザの「戻る」か「back」ボタンを押してください。

 著作権は全て小出 俊夫にあります。KID's World © 1996-2003 Toshio Koide.

 対応ブラウザについて