c++获取本机MAC并输出为string

#include 
#include 
#include 
/** 其他头文件自行添加  **/

/**

省略部分……

**/


void getMAC()//用NetAPI来获取网卡MAC地址
{
         IP_ADAPTER_INFO adapter[5];  //Maximum 5 adapters
         DWORD buflen=sizeof(adapter);
         DWORD status=GetAdaptersInfo(adapter,&buflen);
         BYTE s[6];
         if(status==ERROR_SUCCESS)
         {
          PIP_ADAPTER_INFO painfo=adapter;
          memcpy(s,painfo->Address,6);
          printf("Physical Address:%02X-%02X-%02X-%02X-%02X-%02X\n",s[0],s[1],s[2],s[3],s[4],s[5]);
         }
         string strMAC="";
        for(int i=0;i=0&&f<=9)	{f+=48;}	//数字转ASCII
            else if( f>=97&&f<=122)	{f=f+87;}	//小写字母转ASCII
            else {f=f+55;}	//大写字母转ASCII
            char fChar = (char)f;	//ASCII码转为char类型
            string fStr;
            fStr.push_back(fChar);
            //printf("first char ---------:%s\n",fStr);
            
            //后面一位转char
            if(l>=0&&l<=9) {l+=48;}
            else if( l>=97&&l<=122) {l=l+87;}
            else {l=l+55;}
            char lChar = (char)l;
            string lStr;
            lStr.push_back(lChar);
            //两位char合并为一个字符串
            //printf("last char ---------:%s\n",lStr);
            if(i==(sizeof(s)-1)){
                strMAC +=fStr+lStr;
            }else{
                strMAC +=fStr+lStr+"-";
            }
        }
        cout<<"-----------"+strMAC+"-----------"<

 

你可能感兴趣的:(c++获取本机MAC并输出为string)