Как использовать спецификаторы формата для установки ширины поля строки? - PullRequest
4 голосов
/ 18 июня 2020
printf("%5s\n", "#");

дает:

    #

Есть ли способ установить ширину поля этой строки с помощью спецификатора целочисленного формата?

Что-то вроде этого,

printf("%%ds\n", 5, "#");

1 Ответ

6 голосов
/ 18 июня 2020

Из руководства printf

Вместо десятичной строки di git можно написать «*» или «* m $» (для некоторого целого десятичного числа m) чтобы указать, что ширина поля задается в следующем аргументе или в m-м аргументе, соответственно, который должен иметь тип int.

Итак, в вашем примере это будет:

printf("%*s\n", 5, "#");
...