将16进制数组成的字符串转换为相对应的整型值
2016-06-28 10:27
253 查看
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; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- C#实现将千分位字符串转换成数字的方法
- oracle SCN跟TIMESTAMP之间转换
- C#将制定目录文件名转换成大写的方法
- Access转成SQL数据库的方法
- C#实现Stream与byte[]之间的转换实例教程
- C#中结构体和字节数组转换实现
- C#进制之间的相互转换详解
- 自己动手把ACCESS转换到SQLSERVER的方法
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例