Erebus_22 Ответов: 1

Печать в виде цифр "n", где n вводится пользователем I "C"


Я хочу преобразовать int в строку, но это должно быть сделано в виде n цифр.
то есть для 5 , если пользователь хочет его в 5-значном пространстве, то 00005, если в 6-значном пространстве 000005.
Я знаю, что это можно сделать в форме %05d и т. д., Но здесь значение вводится пользователем, поэтому %0nd не будет работать . Как я могу это сделать?
sprintf(sol,"%nd",i);
Как это можно исправить?
Заранее спасибо

Что я уже пробовал:

Примитивная мысль состояла в том, чтобы использовать
%nd
но, конечно, это не сработало.

1 Ответов

Рейтинг:
12

Peter_in_2780

Магическое заклинание - это" %*d " в качестве спецификатора формата. Затем вы предоставляете другой аргумент (целое число), чтобы указать ширину. Вижу хорошие отзывы о спецификаторы формата функции printf.
(правка) вам также нужно будет указать начальное нулевое заполнение. вы найдете это в здравом уме.


Peter_in_2780

RTFM! Затем попробуйте printf ("%0*d", 5, 7);

CPallini

5.