跳转到内容

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 宽字符串转换为无符号整数