Dlaczego nie przyjęto nowych łańcuchów opcji printf () w formacie C (dostosowanych do szerokości bitów)?

Podczas badania, jak zrobić międzyplatformowyprintf() formatuj łańcuchy w C (to znaczy biorąc pod uwagę liczbę bitów, których oczekuję od każdego argumentu liczby całkowitej)printf() powinno być) Natknąłem sięta sekcja artykułu na Wikipediiprintf(). W artykule omówiono niestandardowe opcje, które można przekazaćprintf() ciągi formatowania, takie jak (co wydaje się być rozszerzeniem specyficznym dla Microsoft):

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

Dalej stwierdza się, że:

ISO C99 zawiera plik nagłówkowy inttypes.h, który zawiera wiele makr do użycia w niezależnym od platformy kodowaniu printf.

... a następnie wyświetla zestaw makr, które można znaleźć we wspomnianym nagłówku. Patrząc na plik nagłówkowy, aby go użyć, musiałbym napisać:

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

Moje pytanie brzmi: czy czegoś mi brakuje? Czy to naprawdę standardowy sposób C99? Jeśli tak, to dlaczego? (Chociaż nie dziwię się, że nigdy nie widziałem kodu, który używa łańcuchów formatów w ten sposób, ponieważ wydaje się to tak kłopotliwe ...)

questionAnswers(5)

yourAnswerToTheQuestion