读书人

关于怎么生成MAC地址格式的字符串

发布时间: 2013-02-27 10:48:11 作者: rapoo

关于如何生成MAC地址格式的字符串?
char *l_Mac;
l_mac[0],l_mac[1],l_mac[2],l_mac[3],l_mac[4],l_mac[5]分别是0x00,0x12,0xed,0x1d,0x5e,如何将其转化为一个char类型的MAC地址字符串,例如:00-12-ed-1d-5e
[解决办法]

引用:
引用:错了,是
char macstr[32];
sprintf(macstr, "%02x-%02x-%02x-%02x-%02x-%02x",
l_mac[0],l_mac[1],l_mac[2],l_mac[3],l_mac[4],l_mac[5]);
不知道为什么?生成的字符串是这种样式的:“00-12-ed-ffffff……


sprintf(macstr, "%02x-%02x-%02x-%02x-%02x-%02x",
(unsigned char)l_mac[0],(unsigned char)l_mac[1],(unsigned char)l_mac[2],(unsigned char)l_mac[3],(unsigned char)l_mac[4],(unsigned char)l_mac[5]);

[解决办法]
引用:
编译不过去,提示:不能从char*转化为unsigned char


我说错了, 是前面的l_Mac 定义成 unsigned char

unsigned char l_Mac[]={0x00,0x12,0xed,0x1d,0x5e,0x99};

char str[20];
sprintf(str,"%02x-%02x-%02x-%02x-%02x-%02x", l_Mac[0],l_Mac[1],l_Mac[2],l_Mac[3],l_Mac[4],l_Mac[5]);
printf("%s\n",str);

读书人网 >C语言

热点推荐