我想将unsigned 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 :(得分:13)
使用“%08x”作为格式字符串。
答案 1 :(得分:5)
您可以在0
和格式类型之间指定%
和所需的位数来使用零填充。
例如,对于(至少)8位数的十六进制数字,您将使用%08x
:
printf("%08x", number);
输出(如果number
为500):
000001F4