字符串转16进制的int类型

    之前有遇到一个固定变量需要转换成16进制的int类型,网上找的资料比较少。思考良久,还是自己专门写了针对此的代码,如下:    

#include "stdio.h"
#include "string.h"

int main()
{
	int i;
	unsigned char string[8] = "1018B002";
	unsigned char tempargv[8];
	int  hex,temp;
	memcpy(tempargv, string, 8);
	for(i=0;i<8;i++)
	{
		if (tempargv[i] >= '0' && tempargv[i] <= '9')
		{
			temp = (tempargv[i] - '0') & 0x0000000f;
		}
		else if (tempargv[i] > '9' && tempargv[i] < '16')
		{
			temp = (tempargv[i] - 'A' + 10) & 0x0000000f;
		}
		hex = temp |(hex << 4);
	}
	printf("hex = 0x%x\r\n", hex);
	system("pause");
	return 0;
}
    用此方法可以很简单的将固定4字节字符串转换为16进制的int类型

    

猜你喜欢

转载自blog.csdn.net/u011099481/article/details/80728303