Почему не были введены новые (специфичные для битовой ширины) опции формата printf (), принятые как часть C99?

Исследуя, как сделать кросс-платформенныйprintf() форматировать строки в C (то есть с учетом количества бит, которые я ожидаю, что каждый целочисленный аргументprintf() должно быть) я наткнулсяэтот раздел статьи Википедии оprintf(), В статье рассматриваются нестандартные варианты, которые можно передатьprintf() форматные строки, такие как (то, что кажется специфичным для Microsoft расширением):

printf("%I32d\n", my32bitInt);

Далее утверждается, что:

ISO C99 includes the inttypes.h header file that includes a number of macros for use in platform-independent printf coding.

... а затем перечисляет набор макросов, которые можно найти в указанном заголовке. Глядя на заголовочный файл, чтобы использовать их, мне нужно написать:

 printf("%"PRId32"\n", my32bitInt);

Мой вопрос: я что-то упустил? Это действительно стандартный способ C99 сделать это? Если так, то почему? (Хотя я не удивлен, что я никогда не видел код, который использует строки формата таким образом, так как он кажется таким громоздким ...)

Ответы на вопрос(5)

Ваш ответ на вопрос