【发布时间】:2015-05-22 02:19:04
【问题描述】:
我有 char * para.mac, string c8934641d0b7 存储在其中。
我想将其转换为十六进制数组int m[6],
制作
m[0]=0xc8;
m[1]=0x93;
...
m[5]=0xb7;
我尝试这样做:
int i;
int m[6];
sscanf(para.mac, "%x%x%x%x%x%x", &m[0], &m[1], &m[2], &m[3], &m[4], &m[5]);
for(i=0;i<6;i++)
printf("%i \r\n",m[i]);
但它似乎不起作用。
我不知道为什么结果对我显示如下:
1178718391
0
0
134448233
8
134272063
我觉得应该是
200(0xc8)
147(0x93)
70(0x46)
65(0x41)
208(0xd0)
183(0xb7)
那么问题出在哪里?
【问题讨论】: