c语言
c语言怎么从十六进制元素数组转换成为字符元素数组(array1 转换到 array2)
//十六进制数组
unsigned char array1 [9] = { 0x3b, 0x33, 0xac, 0x76, 0x2f};
//字符数组
char array2 [20] ={'0','x','3','b','0','x','3','3','0','x','a','c','0','x','7','6','0','x','2','f'};
c语言
c语言怎么从十六进制元素数组转换成为字符元素数组(array1 转换到 array2)
//十六进制数组
unsigned char array1 [9] = { 0x3b, 0x33, 0xac, 0x76, 0x2f};
//字符数组
char array2 [20] ={'0','x','3','b','0','x','3','3','0','x','a','c','0','x','7','6','0','x','2','f'};
#include <stdio.h>
int main()
{
unsigned char array1[9] = {0x3b, 0x33, 0xac, 0x76, 0x2f};
char array2[21];
char *p = array2;
for (int i = 0; i < 9; i++)
{
if (array1[i])
{
sprintf(p, "0x%02x", array1[i]);
p += 4;
}
}
printf("%s\n", array2);
return 0;
}
$ gcc -Wall main.c
$ ./a.out
0x3b0x330xac0x760x2f