将16进制数组成的字符串转换为相对应的整型值

来源:互联网 发布:淘宝店铺如何开 编辑:程序博客网 时间:2024/05/19 10:14
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;}
0 0
原创粉丝点击