AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Library Reference FAQ Alphabetical Index Example Projects

<inttypes.h>: 整数型変換

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

typedef int32_t int_farptr_t
typedef uint32_t uint_farptr_t

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

C++については、__STDC_LIMIT_MACROSが<inttypes.h>を含める前に定義されているならば、読み込むだけです。


#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 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 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

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

#define SCNd16   "d"

int16_t 10進数 scanf フォーマット

#define SCNd32   "ld"

int32_t 10進数 scanf フォーマット

#define SCNdFAST16   "d"

int_fast16_t 10進数 scanf フォーマット

#define SCNdFAST32   "ld"

int_fast32_t 10進数 scanf フォーマット

#define SCNdLEAST16   "d"

int_least16_t 10進数 scanf フォーマット

#define SCNdLEAST32   "ld"

int_least32_t 10進数 scanf フォーマット

#define SCNdPTR   SCNd16

intptr_t 10進数 scanf フォーマット

#define SCNi16   "i"

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

#define SCNi32   "li"

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

#define SCNiFAST16   "i"

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

#define SCNiFAST32   "li"

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

#define SCNiLEAST16   "i"

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

#define SCNiLEAST32   "li"

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

#define SCNiPTR   SCNi16

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

#define SCNo16   "o"

uint16_t 8進数 scanf フォーマット

#define SCNo32   "lo"

uint32_t 8進数 scanf フォーマット

#define SCNoFAST16   "o"

uint_fast16_t 8進数 scanf フォーマット

#define SCNoFAST32   "lo"

uint_fast32_t 8進数 scanf フォーマット

#define SCNoLEAST16   "o"

uint_least16_t 8進数 scanf フォーマット

#define SCNoLEAST32   "lo"

uint_least32_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 SCNuFAST16   "u"

uint_fast16_t 10進数 scanf フォーマット

#define SCNuFAST32   "lu"

uint_fast32_t 10進数 scanf フォーマット

#define SCNuLEAST16   "u"

uint_least16_t 10進数 scanf フォーマット

#define SCNuLEAST32   "lu"

uint_least32_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 SCNxFAST16   "x"

uint_fast16_t 16進数 scanf フォーマット

#define SCNxFAST32   "lx"

uint_fast32_t 16進数 scanf フォーマット

#define SCNxLEAST16   "x"

uint_least16_t 16進数 scanf フォーマット

#define SCNxLEAST32   "lx"

uint_least32_t 16進数 scanf フォーマット

#define SCNxPTR   SCNx16

uintptr_t 16進数 scanf フォーマット


Typedefドキュメント

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

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


Automatically generated by Doxygen 1.7.2 on Wed Feb 16 2011.

翻訳更新:2012年02月04日 by cega