c编程将十六进制放入char中

时间:2013-01-26 15:23:11

标签: c hex arp

我有

    unsigned char src_mac[6];

保存%02x格式的值。例如,要在src_mac [0]中找到值,我会这样做:

    printf("%02x\n",src_mac[0]);

我想知道如何在src_mac中放置值(我需要将一个mac地址作为字符串保存到src_mac中,然后将mac地址放入ether_arp结构中。

1 个答案:

答案 0 :(得分:1)

编辑我的答案......我误解了它

无论如何,尝试使用sscanf hhx作为参数...这意味着它将读取十六进制值并将其存储为char(不太可能将值存储为int的默认值)< / p>

sscanf(string_mac, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", &src_mac[5], &src_mac[4], &src_mac[3], 
                                                    &src_mac[2], &src_mac[1], &src_mac[0]);