现在的位置: 首页 > 综合 > 正文

c语言 获取mac地址

2012年10月22日 ⁄ 综合 ⁄ 共 619字 ⁄ 字号 评论关闭

#include #include #define NETCARD "eth0"char macAddr[128] = {0};memset(macAddr, 0, 128);rtval = get_mac_addr(macAddr);int get_mac_addr(char *macAddr){int tmpsockid;struct ifreq ifr;unsigned char *ptr;memset(&ifr, 0, sizeof(struct ifreq));tmpsockid = socket(AF_INET,
SOCK_DGRAM, 0);if(tmpsockid < 0) {printf("get mac address failed \n");return -1;}strcpy(ifr.ifr_name, NETCARD);if(ioctl(tmpsockid, SIOCGIFHWADDR, &ifr) < 0) {printf("get mac address failed \n");return -1;}ptr = (unsigned char *)ifr.ifr_hwaddr.sa_data;sprintf(macAddr,
"%02x%02x%02x%02x%02x%02x", ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5]);printf("get mac address is %s\n", macAddr);close(tmpsockid);return 0;}

抱歉!评论已关闭.