手机
当前位置:查字典教程网 >编程开发 >C语言 >怎么通过C语言自动生成MAC地址
怎么通过C语言自动生成MAC地址
摘要:最近在做虚拟机项目时,需要给创建的每一个虚拟机自动生成一个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语言自动生成MAC地址】相关文章:

不要被C++(自动生成规则)所蒙骗

哈希表实验C语言版实现

如何用C语言生成简单格式的xml

C 语言基础教程(我的C之旅开始了)[八]

C 语言基础教程(我的C之旅开始了)[三]

深入解析C语言中typedef的四个用途

深入解析C语言中常数的数据类型

浅析如何在c语言中调用Linux脚本

C 语言基础教程(我的C之旅开始了)[四]

合并排序(C语言实现)

精品推荐
分类导航