Loose-Info.com

Last Update 2019/12/24


TOP - C言語 - stdio.h - フォーマット文字列(fprintf, printf, sprintf)

printf()などの関数が出力時に使用する、文字列の出力形式および出力内容を記述した文字列です。
0個以上の変換仕様(「%」から始まる)を含みます。
また、変換仕様使用時は、フォーマット文字列に続き、変換仕様に対応する引数を記述します。
フォーマット文字列の記述方法は以下のようになります。

"AAAA 値1 BBBB 値2 CCCC" ,  値3  ,  値3 

値1, 値2
: 変換仕様
「%」で始まる引数の出力形式を示した文字列
値3, 値4
: 引数
値1, 値2に対応する出力値
AAAA, BBBB, CCCC
: 記述のまま出力する文字列

変換仕様の書式は次の通りです。

 値1  値2  値3  値4  値5 

値1(任意)
フラグ
0(ゼロ) -(マイナス)  (空白) +(プラス)
値2(任意)
最小フィールド幅(10進数文字列)
値3(任意)
精度(ピリオド「.」 + 10進数文字列)
値4(任意)
長さ修飾子
hh h l(エル)
値5(必須)
変換指示子
d, i o u x, X e, E f, F g, G c s n %

(例)
#include <stdio.h> int main() { printf("引数1 = %5d : 引数2 = %s : 引数3 = %#x\n", 20, "test", 30); return 0; }

実行結果
引数1 = 20 : 引数2 = test : 引数3 = 0x1e