我有
unsigned char src_mac[6];
保存具有 %02x 格式的值。例如,要在 src_mac[0] 中查找值,我会这样做:
printf("%02x\n",src_mac[0]);
我想知道如何将值放入src_mac(我需要将保存为字符串的mac地址放入src_mac,然后将mac地址放入ether_arp结构中。
最佳答案
编辑我的答案...我读错了
无论如何,尝试使用 hhx
作为参数的 sscanf
...这意味着它将读取十六进制值并将其存储为字符(不太可能是存储的默认值)值为 int)
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]);
关于c 编程将十六进制放入 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538330/