• 把mac地址转换为标准mac地址


    把"00:90:8A:1D:30:51"转换成"00-90-8A-1D-30-51",如何格式错误,显示出格式错误的种类,有些不规范的转换成规范的格式,例如,"1234:8F:90-D1:76",为不规范格式转换成

    标准格式。

    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    using namespace std;
    
    void getStandardMac(char str[],char s[])
    {
        int count=0;
        int temp=0;
        int pre=1;
        char c;
        for(int i=0;i<strlen(str);i++) //判断字符数是否为6字节
           {
               if(str[i]>='0'&&str[i]<='9'||str[i]>='A'&&str[i]<='F')
                  {
                   count++;   
                  }
           }
         if(count!=12)
            {
               cout<<"mac is not 6 字节"<<endl;
               exit(0);
            }
          for(int j=0;j<strlen(str);j++)
             {
               if((pre-temp)%2!=0||(pre-temp)==0)         //判断分隔符之间的字符是否为偶数
                 {
                    temp=pre;
               if(str[j]==':'||str[j]=='-')
                  {
                    if(j>2&&(j-pre)==1)
                      {
                         cout<<"出现了两个连续字符."<<endl;
                         exit(0);
                      }
                    pre=j;
                  }
                 }
                 else
                 {
                     cout<<"分隔符之间的字符数不为偶数"<<endl;
                     exit(0);
                 }
             }
             temp=0;
           for(int k=0;k<strlen(str);k++)
              {
                 
                            
                     if(temp==2||temp==5||temp==8||temp==11||temp==14)
                         {
                            s[temp++]='-';
                            k--;
                         }
                      else if(str[k]>='0'&&str[k]<='9'||str[k]>='A'&&str[k]<='F')
                         {
                         s[temp++]=str[k];
                         }
                       else
                           continue;  
                       
              }
            s[temp]='';
    }
    int main()
    {
       char str[256];
       char s[256];
       cin>>str;
       cout<<"原mac地址为:"<<str<<endl;
       getStandardMac(str,s);
       cout<<"mac标准地址为:"<<endl;
       cout<<s<<endl;
       return 0;
    }
  • 相关阅读:
    struts2-20-下载文件及授权控制
    struts2-19-合法用户上传文件
    struts2-18-上传多文件
    struts2-17-上传单个文件
    struts2-16-userAnnotationValidate
    struts2-15-用户名校验
    struts2-14-用户自定义全局转换器
    struts2-13-用户自定义局部转换器
    struts2-12-用户自定义转换器(地址)
    struts2-11-OGNL实现书籍的增删改查
  • 原文地址:https://www.cnblogs.com/xshang/p/3370474.html
Copyright © 2020-2023  润新知