宏 | 说明 | 例子 |
PRIXMAX | Printf对于intmax_t | 对于intmax_t值,PRIiMAX相当于i(在“%i”中) |
PRIXN | Printf对于intN_t | 对于int16_t值,PRId16相当于d(在“%d”中) |
PRIXLEASTN | Printf对于int_leastN_t | 对于uint32_t值,PRIuLEAST32 相当于u(在“%u”中) |
PRIXFASTN | Printf对于int_fastN_t | 对于uint8_t, PRIxFAST8相当于x(“%x”) |
PRIXPTR | Printf对于intptr_t | 对于uintptr_t, PRIuPTR 相当于u(“%u”) |
SCNXMAX | scanf对于intmax_t | 对于intmax_t值,SCNiMAX相当于i(在“%i”中) |
SCNXN | scanf对于intN_t | 对于int16_t值,SCNd16 相当于d(在“%d”中) |
SCNXLEASTN | scanf对于int_leastN_t | 对于uint32_t值,SCNuLEAST32 相当于u(在“%u”中) |
SCNXFASTN | scanf对于int_fastN_t | 对于uint8_t,SCNxFAST8 相当于x(“%x”) |
SCNXPTR | scanf对于intptr_t | 对于uintptr_t, SCNuPTR相当于u(“%u”) |
函数 | 说明 |
imaxabs | 等价于abs forintmax_t: intmax_t imaxabs (intmax_t n); |
imaxdiv | 相当于div for intmax_t: imaxdiv_t imaxdiv (intmax_t number, intmax_t denom); |
strtoimax | 等价于strtol for intmax_t: intmax_t strtoimax (const char* str, char** endptr, int base); |
strtoumax | 等价于div for uintmax_t: uintmax_t strtoumax (const char* str, char** endptr, int base); |
wcstoimax | 相当于wcstol for intmax_t: intmax_t wcstoimax (const wchar_t* wcs, wchar_t** endptr, int base); |
wcstoumax | 等价于wcstoul for uintmax_t: uintmax_t wcstoumax (const wchar_t* wcs, wchar_t** endptr, int base); |
类型 | 说明 |
imaxdiv_t | imaxdiv返回的类型,它是intmax_t 的div_t等效值。 |
/* example of <inttypes.h> */ #include <stdio.h> /* printf, scanf, fgets, stdin, NULL */ #include <stdint.h> /* intmax_t */ #include <inttypes.h> /* strtoimax, PRIdMAX, SCNdMAX */ int main () { char buffer[80]; intmax_t foo,bar; printf ("Please, enter a number: "); fgets (buffer,80,stdin); foo = strtoimax (buffer,NULL,10); printf ("Thanks for entering %" PRIdMAX ".\n", foo); printf ("Please, enter another number: "); scanf ("%" SCNdMAX,&bar); printf ("%" PRIdMAX " by %" PRIdMAX " is %" PRIdMAX, foo, bar, foo*bar); return 0; } |