printf 関数の型フィールド文字
更新 : 2007 年 11 月
type 文字は、唯一の必須書式指定フィールドであり、省略可能な書式指定フィールドに続けて指定します。type 文字によって、対応する引数を文字、文字列、または数値のいずれとして解釈するかが指定されます。C 型、n 型、p 型、S 型、および c と s を指定した printf 関数の動作は、Microsoft の拡張機能であり、ANSI 互換ではありません。
printf 関数の型フィールド文字
文字 |
型 |
出力書式 |
---|---|---|
c |
int または wint_t |
printf 関数で使用する場合は 1 つの 1 バイト文字、wprintf 関数で使用する場合は 1 つのワイド文字を指定します。 |
C |
int または wint_t |
printf 関数で使用する場合は 1 つのワイド文字、wprintf 関数で使用する場合は 1 つの 1 バイト文字を指定します。 |
d |
int |
符号付き 10 進整数。 |
i |
int |
符号付き 10 進整数。 |
o |
int |
符号なし 8 進整数。 |
u |
int |
符号なし 10 進整数。 |
x |
int |
符号なし 16 進整数。"abcdef" を使用します。 |
X |
int |
符号なし 16 進整数。"ABCDEF" を使用します。 |
e |
double |
[ – ]d.dddd e [sign]dd[d] 形式の符号付きの値。d は 1 桁の 10 進数、dddd は 1 桁以上の 10 進数、dd[d] は、出力形式 と指数部のサイズによって、2 桁または 3 桁になる 10 進数、sign は + または – を表します。 |
E |
double |
指数の前に e ではなく E が付く点を除いて、書式 e と同じです。 |
f |
double |
[ – ]dddd.dddd 形式の符号付きの値。dddd は 1 つ以上の 10 進数を表します。整数部の桁数は、その数値の絶対値によって決定され、小数部の桁数は要求される精度によって決定されます。 |
g |
double |
書式 f または e で出力される符号付きの値のうち、指定された値および精度を表現できる短い方の書式。書式 e は、値の指数部が –4 未満か、引数 precision で指定されている値よりも大きい場合だけ使用します。後続の 0 は切り捨てられ、後続の数値がある場合だけ小数点が出力されます。 |
G |
double |
指数の前に e ではなく E が付く点を除いて、書式 g と同じです (該当する場合)。 |
a |
double |
[−]0xh.hhhh p±dd の形式の符号付き 16 進倍精度浮動小数点値。h.hhhh は仮数部の 16 進数の桁を表し (小文字を使用)、dd は 1 桁以上の指数部です。精度には小数点以下の桁数を指定します。 |
A |
double |
[−]0xh.hhhh P±dd の形式の符号付き 16 進倍精度浮動小数点値。h.hhhh は仮数部の 16 進数の桁を表し (大文字を使用)、dd は 1 桁以上の指数部です。精度には小数点以下の桁数を指定します。 |
n |
整数へのポインタ |
ストリームまたはバッファにこれまでに書き込まれた文字数。この値は、アドレスが引数として与えられた整数に格納されます。下の「セキュリティに関するメモ」を参照してください。 |
p |
void へのポインタ |
16 進数のアドレスとして引数を出力します。 |
s |
文字列 |
printf 関数で使用する場合は 1 バイト文字列、wprintf 関数で使用する場合はワイド文字列を指定します。最初の NULL 文字まで、または precision で指定した範囲内で文字が出力されます。 |
S |
文字列 |
printf 関数で使用する場合はワイド文字列、wprintf 関数で使用する場合は 1 バイト文字列を指定します。最初の NULL 文字まで、または precision で指定した範囲内で文字が出力されます。 |
メモ %s または %S に対応する引数が null ポインタの場合は、"(null)" が出力されます。
メモ すべての指数形式で、指数部に表示する既定の桁数は 3 です。_set_output_format 関数を使用すると、指数部に表示する桁数を 2 桁にし、指数部のサイズによって必要な場合は 3 桁に拡張することもできます。
セキュリティに関するメモ %n 形式は本質的に安全ではないので、既定では無効になっています。書式指定文字列に %n があると、「パラメータの検証」に説明されているように、無効なパラメータ ハンドラが呼び出されます。%n のサポートを有効にする方法については、「_set_printf_count_output」を参照してください。