| INTTYPES(3) | Library Functions Manual | INTTYPES(3) | 
Each of the following macros expand to a character string literal containing the format specifier suitable for use within the format argument of a formatted I/O function such as printf(3). Each macro contains an identifier (PRI or SCN), a conversion specifier, and a possible length modifier.
The length modifier follows the integer types described in stdint(3):
| int8_t | uint8_t | 
| int16_t | uint16_t | 
| int32_t | uint32_t | 
| int64_t | uint64_t | 
| int_least8_t | uint_least8_t | 
| int_least16_t | uint_least16_t | 
| int_least32_t | uint_least32_t | 
| int_least64_t | uint_least64_t | 
| int_fast8_t | uint_fast8_t | 
| int_fast16_t | uint_fast16_t | 
| int_fast32_t | uint_fast32_t | 
| int_fast64_t | uint_fast64_t | 
| intmax_t | uintmax_t | 
| intptr_t | uintptr_t | 
The following format specifiers are defined for the fprintf(3) and fscanf(3) families, respectively:
PRI?8 | 
SCN?8 | 
PRI?16 | 
SCN?16 | 
PRI?32 | 
SCN?32 | 
PRI?64 | 
SCN?64 | 
PRI?LEAST8 | 
SCN?LEAST8 | 
PRI?LEAST16 | 
SCN?LEAST16 | 
PRI?LEAST32 | 
SCN?LEAST32 | 
PRI?LEAST64 | 
SCN?LEAST64 | 
PRI?FAST8 | 
SCN?FAST8 | 
PRI?FAST16 | 
SCN?FAST16 | 
PRI?FAST32 | 
SCN?FAST32 | 
PRI?FAST64 | 
SCN?FAST64 | 
PRI?MAX | 
SCN?MAX | 
PRI?PTR | 
SCN?PTR | 
The available conversion specifiers, “?” in above, are d and i for signed integers and o, u, x, and X for unsigned integers. The X is not available for the fscanf(3) family. Without the length modifier these would correspond with %d, %i, %o, %u, %x, and %X, respectively.
uint64_t i = 123; 
 
... 
 
(void)printf("i = %"PRIu64"\n", i);
| March 21, 2010 | NetBSD 6.1 |