将前导零插入整数

1 c arrays struct

我在C中有一个函数,它从一个rtc外设生成一些小时,然后我想在一个struct对象中填充一个数组.数组设置为5位数,但是当数字小于5位时,我需要在前面加零.

任何人都可以建议一个简单的方法来实现这一目标吗?

Aar*_*ron 12

char array[5];
snprintf(array, 5, "%05d", number)
Run Code Online (Sandbox Code Playgroud)

  • 用户想要获得5位数,所以我们需要6的缓冲区,而不是5(包括空字节)此外它应该打印前导零.char数组[6]; snprintf(array,6,"%05d",1234); (5认同)
  • %05d将添加前导零 (3认同)
  • ......在破坏堆栈之前. (2认同)