需求

在某些情况下,需要打印的数据,16进制表现形式,并且达到固定的位数,不足的左边补零。

解决

snprintf(tmp, sizeof(tmp), "%04X", ack.command);
  • % 格式说明的起始符号
  • 0 空位补0
  • m.n m指宽度,n指小数精度
  • X 16进制大写字符

参考

printf()如何进行“左补零”的操作

c语言printf()输出格式大全

C语言printf指定宽度的格式化输出

C语言中sprintf()函数的用法