c语言-如何将数字字符串转为16进制字符串?

问题描述

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

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

解决方案

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

 sprintf( buffer%x"" s );

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

  sprintf( buffer%s%s%s"" a b c );

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

解决方案三:
字符串第7位到第10位转换?

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

解决方案五:
16进制字符串转为 字符串
字符串转为16进制
16进制字符串转为二进制字符串

解决方案六:
你这是字符替换吧? 最笨的办法就是循环一下。

解决方案七:
16进制字符串是不包含7890吗

时间: 2024-12-03 03:57:57

c语言-如何将数字字符串转为16进制字符串?的相关文章

java 如何把十进制字符串转换为16进制字符串

问题描述 Stringstr1="07101311"要转换成16进制的070A110B也就是07--0710--0A13--1111--0B 解决方案 解决方案二:两两个的截取,然后将截取后的字符转为int,调用Integer.toHexString转为16进制,循环拼接到一起解决方案三:楼上说了.截取调用方法转换.解决方案四:07--0710--0A13--11这个应该是D11--0BStringstr="07101311";StringBuffersb=newS

字符串转为16进制

字符串 string StrToHex(string str){string strTemp = ""; if(str="") return "";byte[] bTemp = System.Text.Encoding.Default.GetBytes(str); for(int i = 0;i<bTemp.Length;i++){strTemp += bTemp[i].ToString("X");}return str

16进制字符串转数字(C/C++,VB/VB.net,C#)

这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是麻烦,我就是在C#中遇到该问题,让我费了很大的周折,才在msdn查到. 一.16进制字符串转数字      1.C/C++            I.最简单的办法:sscanf("12AB",,"%x",&lngHex);   //字符也可以为"0x12AB"       II.有个朋友,自行编写函数实现了该功能,据说速度比sscanf快:       BOO

C语言:将16进制字符串转化为int类型值

将16进制字符串值转换为 int 整型值   此例中用 "1de" 作为测试字符串,实现代码如下:   [cpp] view plaincopy   #include <stdio.h>   #include <stdlib.h>   #include <string.h>   #include <ctype.h>      /*   * 将字符转换为数值   * */   int c2i(char ch)   {           /

ios-IOS 如何把16进制字符串转换成byte 求各位大神 最好能有代码

问题描述 IOS 如何把16进制字符串转换成byte 求各位大神 最好能有代码 IOS 如何把16进制字符串转换成byte?求各位大神 最好能有代码 解决方案 字符串由字符组成,每个字符都占用一定的字节,我记得是4还是多少,这是c语言底层的算法,应该还有其他算法

[HOWTO]ORACLE中如何实现ASC字符串和16进制串互相转换

oracle|转换|字符串 ORACLE中如何实现ASC字符串和16进制串互相转换 欢迎大家同我交流:enhydraboy   enhydra_boy@tom.com 欢迎转载,请保留本声明,谢谢! 下面是笔者以前回答csdn论坛上问题的总结,希望对大家有用. ASC字符串==>16进制串 create or replace function AscToHex(sIn IN varchar2)RETURN varchar2ISsTmp varchar2(4000);i integer;BEGIN

java-两个很长的16进制字符串怎么进行异或运算?

问题描述 两个很长的16进制字符串怎么进行异或运算? str1=""0d1fe39e573488cf"" str2=""0d1fe39e573488ee595acd5c6d4ce0f445476794"" 怎不进行异或运算? 由于太长不能转化成long 解决方案 每2个一组,存入数组,然后循环异或. 解决方案二: byte[] array1 = str1.getBte();byte[] array2 = str2.getByt

10进制 16进制-Extjs中怎样将页面上的10进制数字转换成16进制的保存到数据库

问题描述 Extjs中怎样将页面上的10进制数字转换成16进制的保存到数据库 Extjs中怎样将页面上的10进制数字转换成16进制的保存到数据库 急啊 解决方案 var a=101; a=a.toString(16); alert(a);//用Ext.ajax发送a到服务器保存 http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.Ajax 解决方案二: 1990(10)= 124 ×16+6 =(7×16+12)×16+6--乘出来= =7×16×16+1

vb 串口发送16进制-Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&amp;amp;amp;h+16进制字符串形式

问题描述 Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&h+16进制字符串形式 例如文本框里输入253chr(13)255chr(13),要求输出结果书"&HFD" "&HFF",看了好多算法,但是还是没有研究出来. 我自己做的结果如下 Private Sub Text2_KeyPress(KeyAscii As Integer) Dim tmp() As String Dim aa As String * 1 Dim rd