Solaris 7 64 ビット 開発ガイド

書式文字列マクロ

書式指示子 printf(3S)scanf(3S) を指定するためのマクロも <inttypes.h> にあります。これらのマクロは、引数のビット数がマクロ名に組み込まれている場合に、初期指示子の先頭に l または ll を付加することによって引数を long または long long として指定します。

printf(3S) 書式指示子用のマクロは、10 進、8 進、符号なし、16 進の、8 ビット、16 ビット、32 ビット、64 ビットの整数、最小整数型と最大整数型を出力するためのものです。次の例を参照してください。


例 4-1

int64_t i;
printf("i =%" PRIx64 "¥n", i);

同様に、scanf(3S) 書式指示子用のマクロが、10 進、8 進、符号なし、および 16 進の 8 ビット、16 ビット、32 ビット、64 ビットの整数、ならびに最小整数型と最大整数型の読み込み用に提供されています。


例 4-2

uint64_t u;
scanf("%" SCNu64 "¥n", &u);

これらのマクロは、無制限に使用しないでください。これらは固定幅型と一緒に使用するのが最適な使用方法です。詳細は、「固定幅整数型」を参照してください。