怎么通过C语言自动生成MAC地址_C语言教程-查字典教程网
怎么通过C语言自动生成MAC地址
怎么通过C语言自动生成MAC地址
发布时间:2016-12-28 来源:查字典编辑
摘要:最近在做虚拟机项目时,需要给创建的每一个虚拟机自动生成一个MAC地址,由于MAC地址为48位,而且格式是以:隔开的,所以下面我写了一个c程序...

最近在做虚拟机项目时,需要给创建的每一个虚拟机自动生成一个MAC地址,由于MAC地址为48位,而且格式是以:隔开的,所以下面我写了一个c程序,来自动生成MAC地址。

复制代码 代码如下:

// 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);

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C语言学习
    热门C语言学习
    编程开发子分类