avr-libc  2.0.0
Standard C library for AVR-GCC

AVR Libc Home Page

AVRs

AVR Libc Development Pages

Main Page

User Manual

Library Reference

FAQ

Example Projects

<inttypes.h>: 整数型変換

64K以上のメモリアクセスのためのfarポインタ

typedef int32_t int_farptr_t
 
typedef uint32_t uint_farptr_t
 

printfとscanf書式指定子のためのマクロ

C++では、<inttypes.h>がインクルードされる前に、__STDC_LIMIT_MACROS が定義されている場合にのみ読み込まれます。

#define PRId8   "d"
 
#define PRIdLEAST8   "d"
 
#define PRIdFAST8   "d"
 
#define PRIi8   "i"
 
#define PRIiLEAST8   "i"
 
#define PRIiFAST8   "i"
 
#define PRId16   "d"
 
#define PRIdLEAST16   "d"
 
#define PRIdFAST16   "d"
 
#define PRIi16   "i"
 
#define PRIiLEAST16   "i"
 
#define PRIiFAST16   "i"
 
#define PRId32   "ld"
 
#define PRIdLEAST32   "ld"
 
#define PRIdFAST32   "ld"
 
#define PRIi32   "li"
 
#define PRIiLEAST32   "li"
 
#define PRIiFAST32   "li"
 
#define PRIdPTR   PRId16
 
#define PRIiPTR   PRIi16
 
#define PRIo8   "o"
 
#define PRIoLEAST8   "o"
 
#define PRIoFAST8   "o"
 
#define PRIu8   "u"
 
#define PRIuLEAST8   "u"
 
#define PRIuFAST8   "u"
 
#define PRIx8   "x"
 
#define PRIxLEAST8   "x"
 
#define PRIxFAST8   "x"
 
#define PRIX8   "X"
 
#define PRIXLEAST8   "X"
 
#define PRIXFAST8   "X"
 
#define PRIo16   "o"
 
#define PRIoLEAST16   "o"
 
#define PRIoFAST16   "o"
 
#define PRIu16   "u"
 
#define PRIuLEAST16   "u"
 
#define PRIuFAST16   "u"
 
#define PRIx16   "x"
 
#define PRIxLEAST16   "x"
 
#define PRIxFAST16   "x"
 
#define PRIX16   "X"
 
#define PRIXLEAST16   "X"
 
#define PRIXFAST16   "X"
 
#define PRIo32   "lo"
 
#define PRIoLEAST32   "lo"
 
#define PRIoFAST32   "lo"
 
#define PRIu32   "lu"
 
#define PRIuLEAST32   "lu"
 
#define PRIuFAST32   "lu"
 
#define PRIx32   "lx"
 
#define PRIxLEAST32   "lx"
 
#define PRIxFAST32   "lx"
 
#define PRIX32   "lX"
 
#define PRIXLEAST32   "lX"
 
#define PRIXFAST32   "lX"
 
#define PRIoPTR   PRIo16
 
#define PRIuPTR   PRIu16
 
#define PRIxPTR   PRIx16
 
#define PRIXPTR   PRIX16
 
#define SCNd8   "hhd"
 
#define SCNdLEAST8   "hhd"
 
#define SCNdFAST8   "hhd"
 
#define SCNi8   "hhi"
 
#define SCNiLEAST8   "hhi"
 
#define SCNiFAST8   "hhi"
 
#define SCNd16   "d"
 
#define SCNdLEAST16   "d"
 
#define SCNdFAST16   "d"
 
#define SCNi16   "i"
 
#define SCNiLEAST16   "i"
 
#define SCNiFAST16   "i"
 
#define SCNd32   "ld"
 
#define SCNdLEAST32   "ld"
 
#define SCNdFAST32   "ld"
 
#define SCNi32   "li"
 
#define SCNiLEAST32   "li"
 
#define SCNiFAST32   "li"
 
#define SCNdPTR   SCNd16
 
#define SCNiPTR   SCNi16
 
#define SCNo8   "hho"
 
#define SCNoLEAST8   "hho"
 
#define SCNoFAST8   "hho"
 
#define SCNu8   "hhu"
 
#define SCNuLEAST8   "hhu"
 
#define SCNuFAST8   "hhu"
 
#define SCNx8   "hhx"
 
#define SCNxLEAST8   "hhx"
 
#define SCNxFAST8   "hhx"
 
#define SCNo16   "o"
 
#define SCNoLEAST16   "o"
 
#define SCNoFAST16   "o"
 
#define SCNu16   "u"
 
#define SCNuLEAST16   "u"
 
#define SCNuFAST16   "u"
 
#define SCNx16   "x"
 
#define SCNxLEAST16   "x"
 
#define SCNxFAST16   "x"
 
#define SCNo32   "lo"
 
#define SCNoLEAST32   "lo"
 
#define SCNoFAST32   "lo"
 
#define SCNu32   "lu"
 
#define SCNuLEAST32   "lu"
 
#define SCNuFAST32   "lu"
 
#define SCNx32   "lx"
 
#define SCNxLEAST32   "lx"
 
#define SCNxFAST32   "lx"
 
#define SCNoPTR   SCNo16
 
#define SCNuPTR   SCNu16
 
#define SCNxPTR   SCNx16
 

説明詳細

#include <inttypes.h>

このヘッダファイルは、<stdint.h>から整数型定義の厳密な幅を取り込み、実装による追加機能を拡張して提供します。

現在、拡張機能として、<stdio.h>: 標準入出力でサポートされる全てのprintfやscanfの書式オプションの標準名と同様に、"far"ポインタ(つまり64KB以上のアドレスを指定できるポインタコード)を扱えるよう追加した2つの整数型を含みます。ライブラリーは、ISO 9899:1999からの変換指定子の全てをサポートしないため、実際にできる変換は、ここに示されているだけです。

<stdint.h>で定義された各型のために、これらの変換マクロを考案しました。このマクロは、printf()scanf()演算内の型の書式オブジェクトの移植性を提供します。例:

#include <inttypes.h>
uint8_t smallval;
int32_t longval;
...
printf("The hexadecimal value of smallval is %" PRIx8
", the decimal value of longval is %" PRId32 ".\n",
smallval, longval);

マクロ定義説明

#define PRId16   "d"

int16_t 10進数 printf フォーマット

#define PRId32   "ld"

int32_t 10進数 printf フォーマット

#define PRId8   "d"

int8_t 10進数 printf フォーマット

#define PRIdFAST16   "d"

int_fast16_t 10進数 printf フォーマット

#define PRIdFAST32   "ld"

int_fast32_t 10進数 printf フォーマット

#define PRIdFAST8   "d"

int_fast8_t 10進数 printf フォーマット

#define PRIdLEAST16   "d"

int_least16_t 10進数 printf フォーマット

#define PRIdLEAST32   "ld"

int_least32_t 10進数 printf フォーマット

#define PRIdLEAST8   "d"

int_least8_t 10進数 printf フォーマット

#define PRIdPTR   PRId16

intptr_t 10進数 printf フォーマット

#define PRIi16   "i"

int16_t 整数 printf フォーマット

#define PRIi32   "li"

int32_t 整数 printf フォーマット

#define PRIi8   "i"

int8_t 整数 printf フォーマット

#define PRIiFAST16   "i"

int_fast16_t 整数 printf フォーマット

#define PRIiFAST32   "li"

int_fast32_t 整数 printf フォーマット

#define PRIiFAST8   "i"

int_fast8_t 整数 printf フォーマット

#define PRIiLEAST16   "i"

int_least16_t 整数 printf フォーマット

#define PRIiLEAST32   "li"

int_least32_t 整数 printf フォーマット

#define PRIiLEAST8   "i"

int_least8_t 整数 printf フォーマット

#define PRIiPTR   PRIi16

intptr_t 整数 printf フォーマット

#define PRIo16   "o"

uint16_t 8進数 printf フォーマット

#define PRIo32   "lo"

uint32_t 8進数 printf フォーマット

#define PRIo8   "o"

uint8_t 8進数 printf フォーマット

#define PRIoFAST16   "o"

uint_fast16_t 8進数 printf フォーマット

#define PRIoFAST32   "lo"

uint_fast32_t 8進数 printf フォーマット

#define PRIoFAST8   "o"

uint_fast8_t 8進数 printf フォーマット

#define PRIoLEAST16   "o"

uint_least16_t 8進数 printf フォーマット

#define PRIoLEAST32   "lo"

uint_least32_t 8進数 printf フォーマット

#define PRIoLEAST8   "o"

uint_least8_t 8進数 printf フォーマット

#define PRIoPTR   PRIo16

uintptr_t 8進数 printf フォーマット

#define PRIu16   "u"

uint16_t 10進数 printf フォーマット

#define PRIu32   "lu"

uint32_t 10進数 printf フォーマット

#define PRIu8   "u"

uint8_t 10進数 printf フォーマット

#define PRIuFAST16   "u"

uint_fast16_t 10進数 printf フォーマット

#define PRIuFAST32   "lu"

uint_fast32_t 10進数 printf フォーマット

#define PRIuFAST8   "u"

uint_fast8_t 10進数 printf フォーマット

#define PRIuLEAST16   "u"

uint_least16_t 10進数 printf フォーマット

#define PRIuLEAST32   "lu"

uint_least32_t 10進数 printf フォーマット

#define PRIuLEAST8   "u"

uint_least8_t 10進数 printf フォーマット

#define PRIuPTR   PRIu16

uintptr_t 10進数 printf フォーマット

#define PRIx16   "x"

uint16_t 16進数 printf フォーマット

#define PRIX16   "X"

uint16_t 16進数大文字 printf フォーマット

#define PRIx32   "lx"

uint32_t 16進数 printf フォーマット

#define PRIX32   "lX"

uint32_t 16進数大文字 printf フォーマット

#define PRIx8   "x"

uint8_t 16進数 printf フォーマット

#define PRIX8   "X"

uint8_t 16進数大文字 printf フォーマット

#define PRIxFAST16   "x"

uint_fast16_t 16進数 printf フォーマット

#define PRIXFAST16   "X"

uint_fast16_t 16進数大文字 printf フォーマット

#define PRIxFAST32   "lx"

uint_fast32_t 16進数 printf フォーマット

#define PRIXFAST32   "lX"

uint_fast32_t 16進数大文字 printf フォーマット

#define PRIxFAST8   "x"

uint_fast8_t 16進数 printf フォーマット

#define PRIXFAST8   "X"

uint_fast8_t 16進数大文字 printf フォーマット

#define PRIxLEAST16   "x"

uint_least16_t 16進数 printf フォーマット

#define PRIXLEAST16   "X"

uint_least16_t 16進数大文字 printf フォーマット

#define PRIxLEAST32   "lx"

uint_least32_t 16進数 printf フォーマット

#define PRIXLEAST32   "lX"

uint_least32_t 16進数大文字 printf フォーマット

#define PRIxLEAST8   "x"

uint_least8_t 16進数 printf フォーマット

#define PRIXLEAST8   "X"

uint_least8_t 16進数大文字 printf フォーマット

#define PRIxPTR   PRIx16

uintptr_t 16進数 printf フォーマット

#define PRIXPTR   PRIX16

for uintptr_t 16進数大文字 printf フォーマット

#define SCNd16   "d"

int16_t 10進数 scanf フォーマット

#define SCNd32   "ld"

int32_t 10進数 scanf フォーマット

#define SCNd8   "hhd"

int8_t 10進数 scanf フォーマット

#define SCNdFAST16   "d"

int_fast16_t 10進数 scanf フォーマット

#define SCNdFAST32   "ld"

int_fast32_t 10進数 scanf フォーマット

#define SCNdFAST8   "hhd"

int_fast8_t 10進数 scanf フォーマット

#define SCNdLEAST16   "d"

int_least16_t 10進数 scanf フォーマット

#define SCNdLEAST32   "ld"

int_least32_t 10進数 scanf フォーマット

#define SCNdLEAST8   "hhd"

int_least8_t 10進数 scanf フォーマット

#define SCNdPTR   SCNd16

intptr_t 10進数 scanf フォーマット

#define SCNi16   "i"

int16_t 汎用整数 scanf フォーマット

#define SCNi32   "li"

int32_t 汎用整数 scanf フォーマット

#define SCNi8   "hhi"

int8_t 汎用整数 scanf フォーマット

#define SCNiFAST16   "i"

int_fast16_t 汎用整数 scanf フォーマット

#define SCNiFAST32   "li"

int_fast32_t 汎用整数 scanf フォーマット

#define SCNiFAST8   "hhi"

int_fast8_t 汎用整数 scanf フォーマット

#define SCNiLEAST16   "i"

int_least16_t 汎用整数 scanf フォーマット

#define SCNiLEAST32   "li"

int_least32_t 汎用整数 scanf フォーマット

#define SCNiLEAST8   "hhi"

int_least8_t 汎用整数 scanf フォーマット

#define SCNiPTR   SCNi16

intptr_t 汎用整数 scanf フォーマット

#define SCNo16   "o"

uint16_t 8進数 scanf フォーマット

#define SCNo32   "lo"

uint32_t 8進数 scanf フォーマット

#define SCNo8   "hho"

uint8_t 8進数 scanf フォーマット

#define SCNoFAST16   "o"

uint_fast16_t 8進数 scanf フォーマット

#define SCNoFAST32   "lo"

uint_fast32_t 8進数 scanf フォーマット

#define SCNoFAST8   "hho"

uint_fast8_t 8進数 scanf フォーマット

#define SCNoLEAST16   "o"

uint_least16_t 8進数 scanf フォーマット

#define SCNoLEAST32   "lo"

uint_least32_t 8進数 scanf フォーマット

#define SCNoLEAST8   "hho"

uint_least8_t 8進数 scanf フォーマット

#define SCNoPTR   SCNo16

uintptr_t 8進数 scanf フォーマット

#define SCNu16   "u"

uint16_t 10進数 scanf フォーマット

#define SCNu32   "lu"

uint32_t 10進数 scanf フォーマット

#define SCNu8   "hhu"

uint8_t 10進数 scanf フォーマット

#define SCNuFAST16   "u"

uint_fast16_t 10進数 scanf フォーマット

#define SCNuFAST32   "lu"

uint_fast32_t 10進数 scanf フォーマット

#define SCNuFAST8   "hhu"

uint_fast8_t 10進数 scanf フォーマット

#define SCNuLEAST16   "u"

uint_least16_t 10進数 scanf フォーマット

#define SCNuLEAST32   "lu"

uint_least32_t 10進数 scanf フォーマット

#define SCNuLEAST8   "hhu"

uint_least8_t 10進数 scanf フォーマット

#define SCNuPTR   SCNu16

uintptr_t 10進数 scanf フォーマット

#define SCNx16   "x"

uint16_t 16進数 scanf フォーマット

#define SCNx32   "lx"

uint32_t 16進数 scanf フォーマット

#define SCNx8   "hhx"

uint8_t 16進数 scanf フォーマット

#define SCNxFAST16   "x"

uint_fast16_t 16進数 scanf フォーマット

#define SCNxFAST32   "lx"

uint_fast32_t 16進数 scanf フォーマット

#define SCNxFAST8   "hhx"

uint_fast8_t 16進数 scanf フォーマット

#define SCNxLEAST16   "x"

uint_least16_t 16進数 scanf フォーマット

#define SCNxLEAST32   "lx"

uint_least32_t 16進数 scanf フォーマット

#define SCNxLEAST8   "hhx"

uint_least8_t 16進数 scanf フォーマット

#define SCNxPTR   SCNx16

uintptr_t 16進数 scanf フォーマット

型定義説明

64KBを超えるポインタを扱える符号付き整数型

64KBを超えるポインタを扱える符号無し整数型