int htoi(char s[])
{
int hexdigit, i = 0, inhex = 1, n = 0;
if (s[i] == '0')
{
++i;
if (s[i] == 'x' || s[i] == 'X')
++i;
}
for (; inhex == 1; ++i)
{
if (s[i] >= '0' && s[i] <= '9')
{
hexdigit = s[i] - '0';
}
else if (s[i] >= 'a' && s[i] <= 'f')
{
hexdigit = s[i] - 'a' + 10;
}
else if (s[i] >= 'A' && s[i] <= 'F')
{
hexdigit = s[i] - 'A' + 10;
}
else
{
inhex = 0; //退出循环
}
if (inhex == 1)
{
n = 16 * n + hexdigit;
}
}
return n;
}