在最近完成计算机网络课程设计的过程中,您需要将mac地址转换为六个字节. 我在互联网上找到了信息. 基本思想是将mac地址分为六个部分,每个部分为十六个. 基数将转换为十进制数,并分配给六字节数组的每一位. 后来,当查看库函数时,我发现了strtoul函数,并发现该函数可用于实现此函数. 实现功能如下:
int mac_str_to_bin( char *str, unsigned char *mac)
{
int i;
char *s, *e=NULL;
if ((mac == NULL) || (str == NULL)) {
return -1;
}
s = (char *) str;
for (i = 0; i < 6; ++i) {
mac[i] = s ? strtoul (s, &e, 16) : 0;
if (s)
s = (*e) ? e + 1 : e;
}
return 0;
}