文本MAC地址字符串转换为二进制MAC地址的宏函数
最新需要填写数据包的MAC地址,但是没有找到将文本MAC地址转二进制的MAC地址的函数,临时写了一个宏。
宏函数
#define CHARTOMAC(cmac,mac) sscanf((cmac),"%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",&(mac)[0],&(mac)[1],&(mac)[2],&(mac)[3],&(mac)[4],&(mac)[5])
调用示例
char dst_mac[6];
char cmac[]="f8:f2:1e:8f:a2:61";
CHARTOMAC(cmac,dst_mac);
printf("%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx\n",dst_mac[0],dst_mac[1],dst_mac[2],dst_mac[3],dst_mac[4],dst_mac[5]);
调用示例代码运行结果