怎么将mac地址转换成6字节的字符数组
如何将mac地址转换成6字节的字符数组
如何将一个 cahr mac[18] = "00:0f:2a:d2:fe:ef"; 的mac地址转换成
char mac[6] 六个字节的字符数组??
------解决方案--------------------
要这个效果吗?
------解决方案--------------------
作为一个C程序员,对
scanf,sscanf,fscanf
printf,sprintf,fprintf
这类函数的用法,还是要做到“拳不离手,曲不离口”的。
------解决方案--------------------
第6行maxhex[i]=(char)v;
纠正为machex[i]=(char)v;
------解决方案--------------------
16进制转字节表示。
如何将一个 cahr mac[18] = "00:0f:2a:d2:fe:ef"; 的mac地址转换成
char mac[6] 六个字节的字符数组??
------解决方案--------------------
要这个效果吗?
char mac[] = "00:0f:2a:d2:fe:ef";
unsigned char addr[6];
sscanf(mac,"%2x:%2x:%2x:%2x:%2x:%2x",addr,addr+1,addr+2,addr+3,addr+4,addr+5);
------解决方案--------------------
char macstr[18] = "00:0f:2a:d2:fe:ef";
char machex[6];
int v,i;
for (i=0;i<6;i++) {
sscanf(macstr+3*i,"%2x",&v);
maxhex[i]=(char)v;
}
作为一个C程序员,对
scanf,sscanf,fscanf
printf,sprintf,fprintf
这类函数的用法,还是要做到“拳不离手,曲不离口”的。
------解决方案--------------------
第6行maxhex[i]=(char)v;
纠正为machex[i]=(char)v;
------解决方案--------------------
16进制转字节表示。