printf [FILEHANDLE] FORMAT, LIST
FORMAT
で指定されたフォーマットに従ってLIST
を整形し、ファイルハンドルFORMAT
に出力します。FORMAT
を省略すると、現在セレクトされている出力ファイルハンドルに出力されます。
printf
は選択されたファイルハンドルに % フォーマット文字で整形した文字列を出力します。返却値は、printf
が正常に終了したら1、異常があったら 0 です。
printfの使い方
printf "%02d", 2; > 02
フォーマット指定子
文字 | 説明 |
---|---|
%c | 文字 -Character |
%d | 10進数 -Deximal |
%e | 浮動少数(指数形式) -Exponential |
%E | 浮動少数(大文字のEを使った指数形式) |
%f | 浮動小数(固定小数点形式) -Floating |
%g | 浮動小数(浮動少数または指数形式のうち、少ないスペースで表現できる方) |
%G | %g の指数表示をEにしたもの |
%ld | 倍精度10進数 -Long |
%lo | 倍精度8進数 |
%lu | 倍精度符号なし10進数 |
%lx | 倍精度16進数 |
%n | すでに出力した文字数を次の変数に格納 |
%o | 8進数 -Octal |
%p | ポインタ (16進数での値のアドレス) |
%s | 文字列 -String |
%u | 符号なし10進数 -Unsigned |
%x | 符号なし16進数 -heXadecimal |
%X | %x と同じだが大文字を使う |
修飾子
文字 | 説明 |
---|---|
-(%-nd) | 左寄せで表示。n は文字列の長さ。 |
# | 8進の整数は0で始まり、16進の整数は0xで始まるように表示 |
(%nd) | 数値変数の10進展開 「n」は文字列の長さ。文字数が足りない場合はスペースで埋める。 |
(%n.mf) | 小数点付き数値の10進展開。n は文字列の長さ、m は少数点以下の桁数を指定。 |
+(%+d) | 符号付き10進展開。符号+または-をつけて表示 |
0(%0nd) | 文字数が足りない場合は0で埋める。n は文字列の長さ。 |
現在の日時を出力
# 現在日時を取得 ( $sec , $min , $hour , $day , $mon , $year ) = localtime( time ); $mon++; printf("現在の日時は:%02d年%02d月%02d日の %02d:%02d:%02d です", $year, $mon, $day, $hour, $min, $sec ); > 現在の日時は:96年01月03日の 09:03:02 です
sprintf
も参照してください。