当前位置: 技术问答>linux和unix
哪位大哥帮帮忙啊?? char类型和u_char类型 怎么进行比较?
来源: 互联网 发布时间:2016-01-07
本文导语: 实现这样的功能: 用户输入MAC地址,例如: char chGetMac[12] = "0018F3E0F2F3" ,然后与数据包中的源MAC地址比较,相同则返回1,不同则返回0; 在数据包中,MAC地址是u_char ether_shost[6], 但用户输入的pchGetMac是1...
实现这样的功能:
用户输入MAC地址,例如: char chGetMac[12] = "0018F3E0F2F3"
,然后与数据包中的源MAC地址比较,相同则返回1,不同则返回0;
在数据包中,MAC地址是u_char ether_shost[6],
但用户输入的pchGetMac是12个字节的char数组
怎么进行比较啊??????
也就是:
char chGetMac[12] 怎么与 u_char ether_shost[6] 比较啊??
用户输入MAC地址,例如: char chGetMac[12] = "0018F3E0F2F3"
,然后与数据包中的源MAC地址比较,相同则返回1,不同则返回0;
在数据包中,MAC地址是u_char ether_shost[6],
但用户输入的pchGetMac是12个字节的char数组
怎么进行比较啊??????
也就是:
char chGetMac[12] 怎么与 u_char ether_shost[6] 比较啊??
|
一种是将MAC地址转成字符串
char strMAC[13];
sprintf(strMAC,"%02x%02x%02x%02x%02x%02x",ether_shost[0],ether_shost[1],ether_shost[2],ether_shost[3],ether_shost[4],ether_shost[5]);
然后用strMAC与chGetMac比较
另一种是将chGetMac每两个字符转成u_char后,与ether_shost各个字节比较
char strMAC[13];
sprintf(strMAC,"%02x%02x%02x%02x%02x%02x",ether_shost[0],ether_shost[1],ether_shost[2],ether_shost[3],ether_shost[4],ether_shost[5]);
然后用strMAC与chGetMac比较
另一种是将chGetMac每两个字符转成u_char后,与ether_shost各个字节比较