C语言:16进制字符串转int

文章目录

  • 前言
  • 代码

前言

今天在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;
}

你可能感兴趣的:(【Language_C】)