跳至內容

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 寬字符串轉換為無符號整數