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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何将十六进制字符串转换为数字(数值)
================================================= 本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接 E-mail: khler@163.com QQ:     23381103 MSN:   pragmac@hotmail.com ========================================
十进制数字字符串转换成十六进制数字字符串方法
int dec = Integer.parseInt(“十进制字符串”);    //例如  EditText直接获取输入的数字。                     String hexString = Integer.toHexString(dec);
将string字符串转化为16进制字符串
std::string ConverToHexString(const char *in_pData,unsigned int in_uiLen)     {         std::string tmp_strHexValue;         for (unsigned int i = 0; i         {             char tmp_szVaule[4]
c语言字符串转换为16进制和10进制数字
字符串转换为16进制或者10进制:1、使用自己编写的函数。2、使用库函数。 将字符串转换为16进制两种方法的代码: #include #include #include  int HexStr2Int(char *buf)  { int result = 0; int tmp; int len,i; len = strlen(buf); printf("len
面试题: 十进制INT数字转化为16进制字符串、实现字符串和数字的相互转化
自己练练了手,写了两个程序: 第一个:十进制的数字转化为16进制 int main(int argc, _TCHAR* argv[]){    int a = 100000000, i = 0, b;    int c[8] = {0};    printf("%10.4x ", a);    while (a) {        b = a - (a>
16进制数字转成字符串
for (i = 0; i { b = (unsigned char) s[i]; c = (b >> 4) & 0x0f; fmt_putc(fmt, c c = (b) & 0x0f; fmt_putc(fmt, c }
Java 16进制字符串转化成十六进制数字
可以先将字符串转化为整型,后面有需要了,再将整型转化为16进制的数字 int parseInt = Integer.parseInt("cc", 16); System.out.println(parseInt); String hexString = Integer.toHexString(parseInt); System.out.println(hexString);
Qt(C++)将字符串输入框中的数字字符串转换成十六进制命令的方法。
最近在做QT开发,需要将QlineEdit中的数字
将16进制字符串转换为整数输出
一个16进制字符串,可能是带负号的,也可能是非法的(g1234),把它转换为10进制整数输出。 public class HexToDecmal { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub System.out.println(to
字符串与16进制之间的转换
这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是麻烦,我就是在C#中遇到该问题,让我费了很大的周折,才在msdn查到。 一、16进制字符串转数字      1、C/C++            I、最简单的办法:sscanf(“12AB”,,”%x”,&lngHex);   //字符也可以为”0x12AB”       II、有个朋友,自行编写函数实现了该功