我有
unsigned char src_mac[6];
保存%02x格式的值。例如,要在src_mac [0]中找到值,我会这样做:
printf("%02x\n",src_mac[0]);
我想知道如何在src_mac中放置值(我需要将一个mac地址作为字符串保存到src_mac中,然后将mac地址放入ether_arp结构中。
答案 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]);