Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


INTTYPES(3)                Library Functions Manual                INTTYPES(3)

NAME
     inttypes - standard fixed-size integer types

SYNOPSIS
     #include <inttypes.h>

DESCRIPTION
     The <inttypes.h> header describes a set of format specifier macros aimed
     to increase portability both within and across operating systems.  It
     includes the <stdint.h> header and extends it with additional facilities.

     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.

EXAMPLES
     The following example demonstrates typical usage:

           uint64_t i = 123;

           ...

           (void)printf("i = %"PRIu64"\n", i);

SEE ALSO
     printf(3), scanf(3), stdint(3)

STANDARDS
     The <inttypes.h> header conforms to ISO/IEC 9899:1999 ("ISO C99") and
     IEEE Std 1003.1-2001 ("POSIX.1").

HISTORY
     The <inttypes.h> header was first introduced in NetBSD 1.6.

NetBSD 10.99                    March 21, 2010                    NetBSD 10.99