如何将字符串转化成16进制 存储在char型数组中

时间:2021-08-18 22:13:42
例如现在有cstring str="50"
char a[1];

我想要的结果是
a[0] = 0x32;


中间如何操作,还请各位高手,帮助一下

7 个解决方案

#1


先用itoa函数转成10进制,再用个函数转成16进制

#2


这样的_ttoi就行了


,一般我用的"50"转换成0x50;

#3


写两函数、一个将字符串转化为十进制整数、另一个将十进制转换为十六进制,最后存入数组!

#4


1.CString转10进制 “50”-》50 可用atoi()
2.10进制转16进制进行,最耸的办法,50/16=3,50%16=2----》0x32

#5


字符串转换成10进制数,10进制再转化成16进制我会,关键是如何把 0x32 放到char型的a[0]中

#6


转换成十进制之后,直接赋值就可以了;
char a[1];
a[0] =  十进制值;
只是需要注意不要越界 

#7


引用 5 楼 zuibendeshagua 的回复:
字符串转换成10进制数,10进制再转化成16进制我会,关键是如何把 0x32 放到char型的a[0]中

这个简单,0xff最大值为255,char的最大值是127,
所以最好用unsigned char类型(BYTE等于unsigned char)
赋值如下:
BYTE bt[10];//等价于unsigned char bt[10];
bt[0]=0x32;//0x32为16进制,10进制为50
bt[1]=0x33;
bt[2]=0x34;
……

#1


先用itoa函数转成10进制,再用个函数转成16进制

#2


这样的_ttoi就行了


,一般我用的"50"转换成0x50;

#3


写两函数、一个将字符串转化为十进制整数、另一个将十进制转换为十六进制,最后存入数组!

#4


1.CString转10进制 “50”-》50 可用atoi()
2.10进制转16进制进行,最耸的办法,50/16=3,50%16=2----》0x32

#5


字符串转换成10进制数,10进制再转化成16进制我会,关键是如何把 0x32 放到char型的a[0]中

#6


转换成十进制之后,直接赋值就可以了;
char a[1];
a[0] =  十进制值;
只是需要注意不要越界 

#7


引用 5 楼 zuibendeshagua 的回复:
字符串转换成10进制数,10进制再转化成16进制我会,关键是如何把 0x32 放到char型的a[0]中

这个简单,0xff最大值为255,char的最大值是127,
所以最好用unsigned char类型(BYTE等于unsigned char)
赋值如下:
BYTE bt[10];//等价于unsigned char bt[10];
bt[0]=0x32;//0x32为16进制,10进制为50
bt[1]=0x33;
bt[2]=0x34;
……