Для чего нужны данные макросы в Си в заголовочном файле inttypes.h

Для чего нужны данные макросы SCNxN и PRIxN. Например:

  #include <inttypes.h>

// В функции считывания данных
uint32_t code_point;

fscanf(in, "%" SCNx32, &code_point);

printf("%" PRIx32, code_point);

Ответы (1 шт):

Автор решения: edem

Смотрим как они задаются в <inttypes.h>:

# define PRIx32   "x"
...
# define SCNx32   "x"

Т.е. вместо них в данном примере будут проставлены "x" и:

fscanf(in, "%" SCNx32, &code_point);

printf("%" PRIx32, code_point);

станет:

fscanf(in, "%x", &code_point);

printf("%x", code_point);

А само %x обозначает число в шестандцатеричном отображении.

→ Ссылка