今天在C语言中 用到16进制字符串转int整型场景,顺便网上搜了一下 发现有网友用了非常复杂的方法,还去判断字母啥的 用到什么累加的,笔者一想 16进制字符串转int类型 有必要这么复杂?笔者猜想sscanf解包函数应该可以,所以查了下资料,果然使用sscanf函数就可以了!
代码在devc++中运行正常。
#include
#include
int main(int argc,char* argv[])
{
// 如果是单纯的16进制数字F801,需要先使用sprintf方式组包成0xF801字符串
const char* pHex = "0xF801";
int num = 0;
sscanf(pHex,"%x",&num) ;
printf("num=0x%x\n",num);
return 0;
}