源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

怎么通过C语言自动生成MAC地址

  • 时间:2022-02-03 06:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:怎么通过C语言自动生成MAC地址
最近在做虚拟机项目时,需要给创建的每一个虚拟机自动生成一个MAC地址,由于MAC地址为48位,而且格式是以:隔开的,所以下面我写了一个c程序,来自动生成MAC地址。
[u]复制代码[/u] 代码如下:
//   MAC.c #include<stdio.h> #include<stdlib.h> #include<time.h> #include<unistd.h> #define RANDOM(x) (rand()%x) #define MAC_ADDR_LENGTH 12 #define FMT_MAC_ADDR_LEN (MAC_ADDR_LENGTH+5) unsigned char HEXCHAR[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C', 'D','E','F'}; unsigned char genMACAddr[MAC_ADDR_LENGTH]; unsigned char fmtMACAddr[FMT_MAC_ADDR_LEN]={'0','0','-','0','0','-','0','0','-', '0','0','-','0','0','-','0','0'}; void formatMACAddr() {   unsigned short i=0;   unsigned short n=0;   for(i=0;i<MAC_ADDR_LENGTH;i++,n++)   {     if(fmtMACAddr[n]!='-')     {       fmtMACAddr[n]=genMACAddr[i];     }     else     {       n++;       fmtMACAddr[n]=genMACAddr[i];     }   } } void main() {   unsigned short i=0;   unsigned short n=0;   srand(getpid());   for(int i=0;i<MAC_ADDR_LENGTH;i++)   {     n=RANDOM(16);     genMACAddr[i]=HEXCHAR[n];   }   formatMACAddr();   printf("%s",fmtMACAddr); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部