问题遇到的现象和发生背景
C语言再将16进制的数组(数组的元素都为16进制)转换为字符数组时(例:arr【】={1,2,3}转化为arr【】={“1”,“2”,“3”}时),如何实现?并且如果要求字符数组的元素都是两位时(例:arr【】={1,2,3}转化为arr【】={“01”,“02”,“03”}时)又如何实现?
C语言再将16进制的数组(数组的元素都为16进制)转换为字符数组时(例:arr【】={1,2,3}转化为arr【】={“1”,“2”,“3”}时),如何实现?并且如果要求字符数组的元素都是两位时(例:arr【】={1,2,3}转化为arr【】={“01”,“02”,“03”}时)又如何实现?
#include <stdio.h>
int main(void)
{
char buf[32] = {0};
sprintf(buf,"%02d",1);
printf("%s\n", buf);
return 0;
}
这样可以把1转成"01"
1转成'1'直接 用arr[0] +'0' 用本身加上字符0即可