当前位置: 代码迷 >> C语言 >> 把字符型MAC修改为数值型
  详细解决方案

把字符型MAC修改为数值型

热度:319   发布时间:2007-05-28 17:31:10.0
把字符型MAC修改为数值型

//需要MAC地址时用到(发送数据包时)

char vmac[12]; //虚拟MAC地址
u_char imac[6]; //实际MAC地址

void changMac() //把字符型MAC修改为数值型
{ int i=0;
int j=0;

strupr(vmac); //全部变为大写

for(;i<12;i++)
{ //把字符变为实际的数字
if (vmac[i]>=48 and vmac[i]<=57)
vmac[i]-=48;
if (vmac[i]>=65 and vmac[i]<=90)
vmac[i]-=55;

if (i%2)
{
if (vmac[i-1]!=0)
imac[j]=(vmac[i-1]<<4)+vmac[i];
else
imac[j]=vmac[i];
++j;
}
}
}

int main()
{
puts("\n输入MAC地址(格式为:00-00-00-90-F4-89):");
scanf("%c%c-%c%c-%c%c-%c%c-%c%c-%c%c",&vmac[0],&vmac[1],&vmac[2],&vmac[3],
&vmac[4],&vmac[5],&vmac[6],&vmac[7],&vmac[8],&vmac[9],&vmac[10],&vmac[11]);
changMac();
return 0;
}

搜索更多相关的解决方案: MAC  数值  字符  

----------------解决方案--------------------------------------------------------
  相关解决方案