サイズと距離の指定
更新 : 2007 年 11 月
type の前にオプションで付けることができる、h、l、I、I32、I64 および ll の各プレフィックスは、argument の "サイズ" (修飾する型指定子に応じて、long 型または short 型、32 ビットまたは 64 ビット、1 バイト文字またはワイド文字) を指定します。printf 関数または wprintf 関数で、これらのプリフィックスを型指定子と一緒に使用すると、次のように引数を解釈することを指定できます。これらのプリフィックスは Microsoft の拡張機能であり、ANSI 互換ではありません。
メモ : |
---|
h プレフィックスと l プレフィックスは、char 型のデータと共に使用する場合は Microsoft 拡張機能です。 |
printf 関数と wprintf 関数のサイズ プリフィックスと型指定子
指定する項目 |
プリフィックス |
型指定子 |
---|---|---|
long int |
l (L の小文字) |
d、i、o、x、または X |
long unsigned int |
l |
o、u、x、または X |
long long |
ll |
d、i、o、x、または X |
short int |
h |
d、i、o、x、または X |
short unsigned int |
h |
o、u、x、または X |
__int32 |
I32 |
d、i、o、x、または X |
unsigned __int32 |
I32 |
o、u、x、または X |
__int64 |
I64 |
d、i、o、x、または X |
unsigned __int64 |
I64 |
o、u、x、または X |
ptrdiff_t (32 ビットのプラットフォームでは __int32、64 ビットのプラットフォームでは __int64) |
I |
d、i、o、x、または X |
size_t (32 ビットのプラットフォームでは unsigned __int32、64 ビットのプラットフォームでは unsigned __int64) |
I |
o、u、x、または X |
long double |
l または L |
f |
printf 関数で 1 バイト文字 |
h |
c または C |
wprintf 関数で 1 バイト文字 |
h |
c または C |
printf 関数でワイド文字 |
l |
c または C |
wprintf 関数でワイド文字 |
l |
c または C |
printf 関数で 1 バイト文字列 |
h |
s または S |
wprintf 関数で 1 バイト文字列 |
h |
s または S |
printf 関数でワイド文字列 |
l |
s または S |
wprintf 関数でワイド文字列 |
l |
s または S |
ワイド文字 |
w |
c |
ワイド文字列 |
w |
s |
つまり、printf 関数と wprintf 関数で 1 バイト文字またはワイド文字を出力するには、次のように書式指定子を使用します。
出力文字 |
関数 |
書式指定子 |
---|---|---|
シングル バイト文字 |
printf |
c、hc、または hC |
シングル バイト文字 |
wprintf |
C、hc、または hC |
ワイド文字 |
wprintf |
c、lc、lC、または wc |
ワイド文字 |
printf |
C、lc、lC、または wc |
printf 関数および wprintf 関数で文字列を出力するには、型指定子 s と S と同じようにプリフィックス h と l を使用します。