C语言验证MAC地址字符串合法性函数,使用示例:
char *mac_addr = "00:1d:08:c3:8a:00";
CheckMacAddr(mac_addr);
----------------------------------------------------------------------
bool CheckMacAddr(char *mac_addr_string)
{//code by liuzhigong
if(strlen(mac_addr_string) != 17) return false;
char *strtmp = strtok(mac_addr_string,":");
BYTE hexnum = 0;
while(strtmp != NULL)
{
if(strlen(strtmp) != 2) return false;
if((strtmp[0] >= '0' && strtmp[0] <= '9') || (strtmp[0] >= 'A' && strtmp[0] <= 'F') || (strtmp[0] >= 'a' && strtmp[0] <= 'f'))
{
if((strtmp[1] >= '0' && strtmp[1] <= '9') || (strtmp[1] >= 'A' && strtmp[1] <= 'F') || (strtmp[1] >= 'a' && strtmp[1] <= 'f'))
{
hexnum ++;
strtmp = strtok(NULL,":");
}
else
{
return false;
}
}
else
{
return false;
}
}
if(hexnum != 6) return false;
return true;
}
评论