请教一个示例:
如何将数字字符串转为16进制字符串?
字符串:char str[20]=“1234567890123456”;
将中间的“789012”转换为16进制的“0C0A14”;
最后str="1234560C0A143456"
如果有描述不清的地方,请指出。
多谢!
你先用字符串截取到, 比如strstr等,"789012”
然后可以用下面这个转成十六进制字符串
sprintf( buffer,"%x", s );
然后再把字符串头,更新的字符串,字符串尾连接起来,
sprintf( buffer,"%s%s%s", a, b, c );
自己写个转换函数,应该不难。具体思路是解析每个字符判断然后转变后的结果再返回。
字符串第7位到第10位转换?
你这是字符替换吧? 最笨的办法就是循环一下。
可以先将字符串分为三个部分,“123456”,“789012”,“3456”
取出“789012” ,用atoi函数将“789012”转换为int型,在用sprintf将三部分拼接在一起,其中789012用格式化
%06X
如果位数要更改可以用
%0*X
其中*号的值从参数列表提供。
16进制字符串是不包含7,8,9,0吗