#inttypes.h
这个头文件提供 整数格式转换 的相关功能,例如整数和字符串之间的转换。
这个头文件内包含了 stdint.h
示例:
#include <stdio.h>
#include <inttypes.h> // 提供 strtoimax 和 intmax_t
#include <errno.h> // 用于错误检查
int main() {
const char *str = "123456789012345";
char *endptr;
int base = 10; // 十进制
// 重置 errno 以检测错误
errno = 0;
// 调用 strtoimax
intmax_t num = strtoimax(str, &endptr, base);
// 检查转换是否成功
if (errno == ERANGE) {
printf("数值超出 intmax_t 范围!\n");
} else if (endptr == str) {
printf("未解析到任何数字!\n");
} else {
printf("转换结果: %" PRIdMAX "\n", num); // PRIdMAX 是 intmax_t 的格式化宏
}
return 0;
}
运行结果:
转换结果: 123456789012345
#类型
类型 | 标准 | 说明 |
---|---|---|
imaxdiv_t | C99 | 保存除法的结果 |
#函数
函数 | 标准 | 说明 |
---|---|---|
imaxabs | C99 | 计算整数的绝对值 |
imaxdiv | C99 | 计算整数除法,返回商和余数 |
strtoimax | C99 | 字符串转 intmax_t |
strtoumax | C99 | 字符串转 uintmax_t |
wcstrtoimax | C99 | 宽字符串转 intmax_t |
wcstrtoumax | C99 | 宽字符串转 uintmax_t |