Руководство окончательное для этого является действительным стандартом ISO.Любой другой источник страдает от потенциального недостатка в том, что он может быть неверным или неполным.Стандарт, по определению , и правильный, и полный (a) .
И, хотя документы стандартов иногда могут быть сухими и трудными для чтения, разделы, охватывающиеспецификаторы формата достаточно ясны как с точки зрения значения всех спецификаторов (включая флаги, спецификаторы ширины / точности и модификаторы длины), так и с типами данных, которые вы можете использовать с этими спецификаторами.
Например, , C11 (b) подробно описывает все спецификаторы формата в 7.21.6.1
и 7.21.6.2
для семейства функций printf
и scanf
соответственно.Последним свободным вариантом этой итерации стандарта является документ N1570 .
То есть, фактически, стандарт C11 - официально это последний черновик из C11 и, чтобы получить настоящий стандарт, вам нужно купить его у органа по стандартизации вашей страны.Однако различия незначительны и, как правило, носят административный характер.
(a) Я не хочу сказать, что стандарт является полностью согласованным или не содержит ошибок, просточто это является стандартом.Это означает, что в ожидании утвержденных изменений реализации должны следовать указанному стандарту, чтобы считаться C. Если реализация делает это, она действительна, независимо от того, какой стандарт может иметь в ней стандарт: -)
(b) Хотя C11 (итерация, которую мы используем и поэтому наиболее знакомы с ней), возможно, была официально заменена на C18 , изменения были только включением TCи исправление дефектов.Не было существенных изменений в «мясе» стандарта, в частности по этому вопросу, спецификаторов формата.