Нет необходимости создавать строку специального формата. printf
позволяет вам указать точность, используя параметр (который предшествует значению), если вы используете .*
в качестве точности в теге формата.
Например:
printf ("%d %.*s", number, SIZE, letters);
Примечание: существует различие между шириной (которая является минимальной шириной поля) и точностью (которая дает максимальное количество символов для печати).
%*s
определяет ширину, %.s
определяет точность. (и вы также можете использовать %*.*
, но тогда вам нужно два параметра, один для ширины, один для точности)
См. Также страницу руководства printf (man 3 printf
под Linux) и особенно разделы о ширине и точности поля:
Вместо строки десятичных цифр можно написать «*» или «* m $» (для некоторых
десятичное целое число m), чтобы указать, что точность задана в следующем
аргумент или, соответственно, m-й аргумент, который должен иметь тип int.