C++实现16进制字符串转换成int整形值

来源:互联网 发布:高铁抢票用什么软件 编辑:程序博客网 时间:2024/05/16 06:46

开发中经常需要把16进制字符串转换成整形,写了个个代码供大家参考下:

#include <stdio.h>#include <string.h>//字符转换成整形int hex2int(char c){if ((c >= 'A') && (c <= 'Z')){return c - 'A' + 10;}else if ((c >= 'a') && (c <= 'z')){return c - 'a' + 10;}else if ((c >= '0') && (c <= '9')){return c - '0';}}int main(){//十六进制字符串转换成整形const char* hexStr = "EFA0";int data[32] = {0};int count = 0;for (int i=0; i<strlen(hexStr); i+=2){int high = hex2int(hexStr[i]);   //高四位int low  = hex2int(hexStr[i+1]); //低四位data[count++] = (high<<4) + low;}//打印输出for (int i=0; i<strlen(hexStr)/2; i++){printf("%d ", data[i]);}return 1;}

欢迎加群交流:C/C++开发交流


扫码关注公众号"CPP开发之路"


原创粉丝点击