bool hexchar2int(char* p, int* num)
{
if (*p >= '0' && *p <= '9')
*num = *p - '0';
else if (*p >= 'A' && *p <= 'F')
*num = *p - 'A' + 10;
else if (*p >= 'a' && *p <= 'f')
*num = *p - 'a' + 10;
else
return false;
return true;
}
mac位址的一段轉整數
bool mac2int(char* p, int* num)
{
int high = 0, low = 0;
if (!hexchar2int(p, &high))
return false;
if (!hexchar2int(p + 1, &low))
return false;
*num = high * 16 + low;
return true;
}
舉例
void main()
{
char arr[3] = "cc";
int num;
mac2int(arr, &num);
}