2 clwk clwk 于 2015.07.27 16:42 提问

如何将数字字符串转为16进制字符串?

请教一个示例:
如何将数字字符串转为16进制字符串?
字符串:char str[20]=“1234567890123456”;
将中间的“789012”转换为16进制的“0C0A14”;
最后str="1234560C0A143456"

如果有描述不清的地方,请指出。
多谢!

7个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.27 16:46
已采纳

你先用字符串截取到, 比如strstr等,"789012”
然后可以用下面这个转成十六进制字符串

 sprintf( buffer,"%x", s );

然后再把字符串头,更新的字符串,字符串尾连接起来,

  sprintf( buffer,"%s%s%s", a, b, c );
u011623102
u011623102   2015.07.27 17:19

可以先将字符串分为三个部分,“123456”,“789012”,“3456”
取出“789012” ,用atoi函数将“789012”转换为int型,在用sprintf将三部分拼接在一起,其中789012用格式化
%06X
如果位数要更改可以用
%0*X
其中*号的值从参数列表提供。

yuke198907
yuke198907   2015.07.27 16:47

字符串第7位到第10位转换?

miracle_yao
miracle_yao   2015.07.27 16:47

自己写个转换函数,应该不难。具体思路是解析每个字符判断然后转变后的结果再返回。

CSDNXIAOD
CSDNXIAOD   2015.07.27 16:55

16进制字符串转为 字符串
字符串转为16进制
16进制字符串转为二进制字符串
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

zjczm
zjczm   2015.07.27 16:54

你这是字符替换吧? 最笨的办法就是循环一下。

sina_2831808769
sina_2831808769   Rxr 2015.07.27 21:20

16进制字符串是不包含7,8,9,0吗

Csdn user default icon
上传中...
上传图片
插入图片