最近做个项目需要将十六进制字符串转成整型,具体实现如下:

1,字符串统一转小写

int tolower(int c)  
{  
    if (c >= 'A' && c <= 'Z')  
    {  
        return c + 'a' - 'A';  
    }  
    else  
    {  
        return c;  
    }  
}

2,字符串转整型

int htoi(char s[])  
{  
    int i;  
    int n = 0;  
    if (s[0] == '0' && (s[1]=='x' || s[1]=='X'))  
    {  
        i = 2;  
    }  
    else  
    {  
        i = 0;  
    }  
    for (; (s[i] >= '0' && s[i] <= '9') || (s[i] >= 'a' && s[i] <= 'z') || (s[i] >='A' && s[i] <= 'Z');++i)  
    {  
        if (tolower(s[i]) > '9')  
        {  
            n = 16 * n + (10 + tolower(s[i]) - 'a');  
        }  
        else  
        {  
            n = 16 * n + (tolower(s[i]) - '0');  
        }  
    }  
    return n;  
}

3,测试程序

int _tmain(int argc, _TCHAR* argv[])
{

char str[] = "#FFFEFD";
    char colorR[3] = "";
    char colorG[3] = "";
    char colorB[3] = "";
    strncpy(colorR,&(str[1]),2);
    strncpy(colorG,&(str[3]),2);
    strncpy(colorB,&(str[5]),2);
    int r = htoi(colorR);
    int g = htoi(colorG);
    int b = htoi(colorB);
    return 0;

}

十六进制字符串转整型相关推荐

  1. sscanf操作字符串和整型的区别

    今天测试了一下,发现sscanf操作字符串和整型在格式上是有区别的,下面来看看.下面2个例子都是要取字符串对应的12347那段数字. 先看操作字符串的: int main() {char buf[10 ...

  2. 1.2 String字符串和整型int的相互转换,valueOf() 、parse()和toString()

    String 在编程中被广泛使用,所以掌握 String 和 int 的相互转换方法是极其重要的.前面部分主要讲解了 String 转换 int 和 int 转换 String 方法,后面部分对 va ...

  3. sqlite 字符串 转 整型 cast 函数 (强制类型转换 )

    sqlite 字符串 转 整型使用 cast 函数 语法: cast(col_name as type) 例子: 表:JobInfo 表内字段:Salary  薪水 select * from Job ...

  4. Java String字符串和整型int的相互转换

    String 在编程中被广泛使用,所以掌握 String 和 int 的相互转换方法是极其重要的. String转换为int String 字符串转整型 int 有以下两种方式: Integer.pa ...

  5. Java教程:Java String字符串和整型int的相互转换

    Java教程String 在编程中被广泛使用,所以掌握 String 和 int 的相互转换方法是极其重要的.本节前面部分主要讲解了 String 转换 int 和 int 转换 String 方法, ...

  6. C语言实现字符串转整型

    C语言实现字符串转整型 要求 了解 基本思想 代码 求10的n次方函数 字符串s转换为整型函数 所有代码 不足 要求 1.输入中只包含正负号和数字. 2.正负号只只出现在首位. 了解 (1)负号Asc ...

  7. 【转载】 C#中使用int.TryParse方法将字符串转换为整型Int类型

    在C#编程过程中,将字符串string转换为整型int过程中,时常使用的转换方法为int.Parse方法,但int.Parse在无法转换的时候,会抛出程序异常,其实还有个int.TryParse方法可 ...

  8. C++ 整型转16进制字符串或16进制字符串转整型

    前言:整数转16进制字符串,网上大部分的资料都是要传入16进制字符串的位数,有点麻烦.本文介绍的方法自动确定返回的字符串的位数,位数为最小偶数.偶数位方便使用时转成字节数组(unsigned char ...

  9. vc2015/2010整型转字符串-字符串转整型 vc++

    CString str; str.Format(_T("%d"),number1);//整型转字符串 AfxMessageBox(d); CString str="222 ...

最新文章

  1. loadrunner 录制 odbc 迭代出现lrd_db_option: ERROR, return-code=LRDE2009错误
  2. springboot接口签名统一效验_Python如何接入开放平台?签名验签、加密解密、授权认证测试实战...
  3. python如何读取文件夹下的子文件夹
  4. 35岁以前把下面十件事做好
  5. python定义一个_Python,包括定义一个类
  6. Linux 命令之 apt-mark -- 对 APT 软件包设置标记
  7. android 获取是否连接wifi热点,android - 如何知道您是否已连接到Wifi热点/ Wifi / Wifi Direct - 堆栈内存溢出...
  8. Hive常见的存储格式文件比较
  9. Android 设备上实现串口的移植
  10. java Google图片验证码_使用google.kaptcha来生成图片验证码的实现方法
  11. linux下安装打字软件,linux系统指法练习与打字游戏软件
  12. 基于Spring Boot的ERP仓储管理信息系统设计与实现毕业设计源码150958
  13. 全面的SWOT分析的技巧和策略
  14. 《畅玩NAS》第2章 VMware ESXI安装与使用
  15. 【Redis】布隆过滤器
  16. 2021年前端关注的8个技术趋势
  17. Prisemi芯导充电和保护硬科技亮相亚洲蓝牙耳机展
  18. 基于Halcon学习的一维码识别【十三】ean13.hdev
  19. 肖秀荣真的是“yyds”吗?会被反押题吗?今年还会押中原题吗
  20. 病毒木马查杀实战第007篇:熊猫烧香之逆向分析(下)

热门文章

  1. 计算机专业中专排名,中专学校排名前十
  2. 【Java编程学习】案例8-4 模拟12306售票
  3. 智能新时代 科技追梦人 | 西安翻译学院师生参观人工智能实训基地
  4. PHP针对EXCEL的方法处理
  5. thymeleaf的文本内联th:inline
  6. OpenCV 纵向、横向拼接图片
  7. nopcommerce mysql_基于nopcommerce b2c开源项目的精简版开发框架Nop.Framework
  8. WIN10右键一直转圈圈
  9. 蓝桥杯2015年第六届真题——穿越雷区(C/C++)
  10. Eudemon在配置了NAT与ACL时对数据包处理流程