Я хочу отформатировать int без знака в длинную строку из 8 цифр с начальными нулями.
Это то, что у меня есть:
unsigned int number = 260291273;
char output[9];
sprintf(output, "%x", number);
printf("%s\n", output); // or write it into a file with fputs
Печатает "f83bac9", но я хочу "0f83bac9". Как мне добиться форматирования?
Вы можете использовать заполнение нулями, указав 0
и желаемое количество цифр между %
и типом формата.
Например, для шестнадцатеричных чисел с (минимум) 8 цифрами следует использовать % 08x
:
printf("%08x", number);
Вывод (если число
равно 500):
000001f4