printf 関数の型フィールド文字
書式指定では、type の文字は対応する引数は、文字列、ポインター、整数、浮動小数点数として解釈するかどうか指定する変換の指定子です。 type の文字が唯一の必要な書式の指定フィールドであり、オプションのフィールドの後に表示されます。
書式指定文字列の後に続く引数は type の対応する文字と サイズ の省略可能なプレフィックスに従って解釈されます。 文字型 char と wchar_t の変換は cCを使用して指定され、バイトとマルチ バイトまたはワイド文字列は、書式付き関数を使用する S使用で指定し、または s の。 c を使用して指定され、s が printf ファミリの関数によって char と char* として解釈される文字列引数と wprintf ファミリの関数によって wchar_t と wchar_t* として文字、または。 C を使用して指定され、S が printf ファミリの関数によって wchar_t と wchar_t* として解釈される文字列引数と wprintf ファミリの関数によって char と char* として文字、または。
short、int、long、long longと unsigned のバリアントなどの整数型は d、i、o、u、xと Xの使用によって指定されます。 float、doubleと long doubleなどの浮動小数点型が a、A、e、E、f、gと Gの使用によって指定されます。 これらの size のフィールド長のプレフィックスによって変更されない既定では int の型、整数の引数変換され、浮動小数点引数は doubleに変換されます。 64 ビット システムでは、int ;は 32 ビット値です。したがって、64 ビットの整数は ll または I64 の size のプレフィックスが使用する出力用に設定された場合は切り捨てられます。 プラットフォームに p を使用して既定の長さ型指定されたポインター。
注意
これらの printf と wprintf 関数で使用され、Microsoft 拡張機能、ANSI 互換ではない場合に c と s の型文字の C、Sと Z の型文字と動作。Visual C++ は F の型文字はサポートされません。
printf Type Field の文字
型文字 |
引数 |
出力書式 |
---|---|---|
c |
文字 |
printf とともに使用すると、機能し、マルチバイト文字を指定します; wprintf とともに使用すると、機能し、ワイド文字を指定します。 |
C |
文字 |
printf とともに使用すると、機能し、ワイド文字を指定します; wprintf とともに使用すると、機能し、マルチバイト文字を指定します。 |
d |
Integer |
符号付きな 10 進整数。 |
i |
Integer |
符号付きな 10 進整数。 |
o |
Integer |
符号なしな 8 の整数。 |
u |
Integer |
符号なしな 10 進整数。 |
x |
Integer |
符号なしな 16 進数の整数; 「abcdef」 |
X |
Integer |
符号なしな 16 進数の整数; 「ABCDEF」 |
e |
浮動小数点 |
d が 1 桁の 10 進数です。–フォーム[]d###.dddd e []dd[d]署名を持つ符号付きの値は、dddd 一つ以上の 10 進数、dd[d] は指数部の 出力形式 やサイズに応じて 2 桁または 3 桁の 10 進数であり、符号は + または–です。 |
E |
浮動小数点 |
e ではなく e 形式が、E 指数と同じになります。 |
f |
浮動小数点 |
dddd に一つ以上の 10 進数であるため、フォーム– []dddd###.ddddを持つ符号付きの値。 整数部の桁数は、その数値の絶対値によって決定され、小数部の桁数は要求される精度によって決定されます。 |
g |
浮動小数点 |
符号付きの値が f または e 形式で指定された値と精度を表現であるかは一切表示されます。 e の形式は、value の指数部が precision の引数に–4 より大きいか等しいよりも小さい場合にのみ使用されます。 後続のゼロは切り捨てられ、一つ以上の数字とそれに続く場合のみ小数点が表示されます。 |
G |
浮動小数点 |
、eではなく g 形式、Eと同じ、指数があります (該当する場合)。 |
a |
浮動小数点 |
h.hhhh は 仮数の十六進数字 (小文字を使用して) であるか、dd は指数の一つ以上の数字である場合、フォーム[]0xh.hhhh p±ddがある符号付きな 16 進数の倍精度浮動小数点値。 精度は点の後の桁数を指定します。 |
A |
浮動小数点 |
h.hhhh は 仮数の十六進数字 (大文字を使用して) であるか、dd は指数の一つ以上の数字である場合、フォーム[]0Xh.hhhh P±ddがある符号付きな 16 進数の倍精度浮動小数点値。 精度は点の後の桁数を指定します。 |
n |
整数へのポインター。 |
ストリームやバッファーに正常にこれまでに書き込まれた文字数を返します。 この値は、アドレスが引数として指定された整数に格納されます。 この記事のセキュリティに関するメモ"を参照してください。 |
p |
[ポインターの種類] |
16 進数のアドレスとして引数を表示します。 |
s |
String |
printf 関数を使用すると、バイトまたはマルチバイトの文字列を指定します; wprintf とともに使用すると、機能し、ワイド文字列を指定します。 文字は最初の空白文字まで表示されますが、precision の値に到達する。 |
S |
String |
printf とともに使用すると、機能し、ワイド文字列を指定します; wprintf 関数を使用すると、バイトまたはマルチバイトの文字列を指定します。 文字は最初の空白文字まで表示されますが、precision の値に到達する。 |
Z |
ANSI_STRING または UNICODE_STRING 構造体 |
や構造体の ANSI_STRING アドレスが UNICODE_STRING 引数として渡された場合、構造体の Buffer フィールドが指すバッファーに格納されている文字列が表示されます。 例引数の UNICODE_STRING、%wZを指定するために w の修飾子のプレフィックスを使用します。 構造体の Length フィールドは、長さは、文字列のサイズ (バイト単位) を設定する必要があります。 構造体の MaximumLength フィールドは、バッファーの長さ (バイト単位) を設定する必要があります。 通常、Z の型文字はドライバーでのみ使用されるデバッグは書式指定を使用して機能する dbgPrint と kdPrintなど)。 |
浮動小数点変換の指定子に対応する引数が無限、無期限、または非数の場合は、次の表に、書式付き出力を示します。
値 |
出力 |
---|---|
+ 無限大 |
1.#INFrandom-digits |
–の無限大 |
–1.#INFrandom-digits |
Char (クワイエット型非数と同じ) |
digitrandom 数値.#IND |
非数 |
digitrandom 数値.#NAN |
注意
%Z、または %s または %Sに対応する引数の対応する引数の Buffer、フィールドが null ポインターの場合、「 (null) 」というメッセージが表示されます。
注意
すべての指数形式では、表示する指数部の桁の既定値は 3 です。_set_output_format 関数を使用して、指数部のサイズによって要求された 2 3 への拡大に表示される桁数を設定できます。
セキュリティに関するメモ |
---|
%n 形式は主に安全でないため、既定で無効になります。%n は書式指定文字列が検出された場合、無効なパラメーター ハンドラーが パラメーターの検証"に説明されているように、呼び出されます。%n サポートを有効にするには、_set_printf_count_outputを参照してください。 |