int htoi(char hexstr[])
{
int hexdigit, i, inhex, n;
i = 0;
if (s[i] == '0')
{
++i;
if (s[i] == 'x' || s[i] == 'X')
++i;
else
//这里做相应处理,可以return退出也可以调用另外的函数来处理八进制数
//从而将该函数功能进行扩展
}
n = 0;
inhex = YES; //用于标识s[i]是否是一个合法的十六进制数字字符
for (; inhex == YES; ++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 = NO;
if (inhex == YES)
n = 16 * n + hexdigit;
}
return n;
}
将16进制数组成的字符串转换为相对应的整型值
最新推荐文章于 2022-07-06 16:32:11 发布