跳至內容

inttypes.h

維基百科,自由的百科全書

inttypes.hC標準函數庫中的頭文件,提供了各種位寬的整數類型輸入輸出時的轉換標誌宏。

[編輯]

下述定義的宏用於stdint.h中定義的各種位寬的整形在格式化輸入/輸出時的格式標誌。

  • 前3個字符:
    • PRI 用於printf format
    • SCN 用於scanf format
  • 第4個字符
    • x 用於hexadecimal formatting
    • u 用於unsigned formatting
    • o 用於octal formatting
    • i 用於integer formatting
    • d 用於decimal formatting
  • 其他字符
    • 8 用於eight bit
    • 16 用於sixteen bit
    • 32 用於thirty-two bit
    • 64 用於sixty-four bit
    • FAST8 用於"fast" eight bit
    • FAST16 用於"fast" sixteen bit
    • FAST32 用於"fast" thirty-two bit
    • FAST64 用於"fast" sixty-four bit
    • LEAST8 用於"least" eight bit
    • LEAST16 用於"least" sixteen bit
    • LEAST32 用於"least" thirty-two bit
    • LEAST64 用於"least" sixty-four bit
    • PTR 用於指針
    • MAX 用於maximum supported bit size


下列符號末尾的斜體N表示整型的位寬8、16、32、64等。

例如PRIdFAST32可用於作為打印輸出int_fast32_t整型的格式標誌。

有符號整型的格式化輸出標誌

[編輯]

PRIdN PRIdLEASTN PRIdFASTN PRIdMAX PRIdPTR PRIiN PRIiLEASTN PRIiFASTN PRIiMAX PRIiPTR

無符號整型的格式化輸出

[編輯]

PRIoN PRIoLEASTN PRIoFASTN PRIoMAX PRIoPTR PRIuN PRIuLEASTN PRIuFASTN PRIuMAX PRIuPTR PRIxN PRIxLEASTN PRIxFASTN PRIxMAX PRIxPTR PRIXN PRIXLEASTN PRIXFASTN PRIXMAX PRIXPTR

有符號整型的格式化輸入

[編輯]

SCNdN SCNdLEASTN SCNdFASTN SCNdMAX SCNdPTR SCNiN SCNiLEASTN SCNiFASTN SCNiMAX SCNiPTR

無符號整型的格式化輸入

[編輯]

SCNoN SCNoLEASTN SCNoFASTN SCNoMAX SCNoPTR SCNuN SCNuLEASTN SCNuFASTN SCNuMAX SCNuPTR SCNxN SCNxLEASTN SCNxFASTN SCNxMAX SCNxPTR

例子

[編輯]
#include <inttypes.h>
#include <wchar.h>
int main(void)
{
  uintmax_t i = UINTMAX_MAX; // this type always exists
  wprintf(L"The largest integer value is %020" PRIxMAX "\n", i);
  return 0;
}

類型

[編輯]
  • imaxdiv_t 結構化類型,用於保存函數imaxdiv返回的除商與餘數

函數

[編輯]
  • imaxabs 計算絕對值
  • imaxdiv 計算商與餘數
  • strtoimax 字符串轉換為整數
  • strtoumax 字符串轉換為無符號整數
  • wstrtoimax 寬字符串轉換為整數
  • wstrtoumax 寬字符串轉換為無符號整數