手机
当前位置:查字典教程网 >编程开发 >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语言中assert的用法

合并排序(C语言实现)

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

C语言获得电脑的IP地址的小例子

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

浅析C语言中的内存布局

为什么要学习C语言 C语言优势分析

使用C语言实现CRC校验的方法

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

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

精品推荐
分类导航