问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++ 字符串与16进制字符串之间的转换

发布网友 发布时间:2022-04-29 18:25

我来回答

3个回答

热心网友 时间:2022-06-19 00:55

staticintstr_to_hex(char*string,unsignedchar*cbuf,intlen)

{

BYTEhigh,low;

intidx,ii=0;

for(idx=0;idx<len;idx+=2)

{

high=string[idx];

low=string[idx+1];

if(high>='0'&&high<='9')

high=high-'0';

elseif(high>='A'&&high<='F')

high=high-'A'+10;

elseif(high>='a'&&high<='f')

high=high-'a'+10;

else

return-1;

if(low>='0'&&low<='9')

low=low-'0';

elseif(low>='A'&&low<='F')

low=low-'A'+10;

elseif(low>='a'&&low<='f')

low=low-'a'+10;

else

return-1;

cbuf[ii++]=high<<4|low;

}

return0;

}

/****************************************************************************

函数名称:hex_to_str

函数功能:十六进制转字符串

输入参数:ptr字符串buf十六进制len十六进制字符串的长度。

输出参数:无

*****************************************************************************/

staticvoidhex_to_str(char*ptr,unsignedchar*buf,intlen)

{

for(inti=0;i<len;i++)

{

sprintf(ptr,"%02x",buf[i]);

ptr+=2;

}

}

扩展资料

byte数组转十六进制字符串

publicstaticStringbyteArraytoHexString(byte[]b){

intiLen=b.length;

StringBuffersb=newStringBuffer(iLen*2);

for(inti=0;i<iLen;i++){

intintTmp=b[i];

while(intTmp<0){

intTmp=intTmp+256;

}

if(intTmp<16){

sb.append("0");

}

sb.append(Integer.toString(intTmp,16));

}

returnsb.toString().toUpperCase();

}

热心网友 时间:2022-06-19 00:55

#typedef unsinged char BYTE;
#include <string>
#include <vector>
#include <sstream>

std::vector<BYTE> str_to_hex(const std::string& str)
{
if (str.size() != str.size() / 2 * 2)
str = "0" + str;
std::vector<BYTE> vec;
std::stringstream ss;
ss << std::hex;
for (std::string::size_type ix = 0; ix != str.size() / 2; ++ix) {
int val = 0;
ss << str.substr(ix * 2, 2);
ss >> val;
vec.push_back(val);
ss.clear();
}
return vec;
}

另一个反过来自己写吧!追问自定义的函数的参量和返回值都是string类型的才行啊,你写的返回值不对啊

追答#include

std::string hex_to_str(const std::vector& vec)
{
std::ostringstream oss;
oss << std::setw(2) << std::setfill('0') << std::hex;
for (auto iter = vec.begin(); iter != vec.end(); ++iter) {
oss << *iter;

}

return oss.str();

}

热心网友 时间:2022-06-19 00:56

#include <stdio.h>
int main()
{
char szValue[] = "0x11";
char ch[32];
int nValude = 0;
sscanf(szValue,"%x",&nValude); //十六进制转数字
sprintf(ch,"%d",nValude); //数字转字符
printf("%d/n",nValude);
return 0;
}
http://ke.baidu.com/view/1364018.htm
http://ke.baidu.com/view/1295144.htm
http://blog.csdn.net/delphiwcdj/article/details/4649854/ 参考这里
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Hive笔记 Hive-元数据 英语low是什么意思 Low low 的是什么意思? 如何打开电脑设置的打印机电脑打印设置在哪里打开 使用电脑打印机怎么设置打印机和电脑怎样连接该如何设置 win10打印机设置在哪里 win10打印机设置方法介绍 怎么在电脑上设置打印机在电脑上怎么找打印机设置 怎样为电脑设置打印机电脑里打印机设置在哪 电脑打印机在哪里设置电脑上的打印机在哪里 删除自己的聊天记录会删除金山多人编辑吗? 风尚问答:20万以内的B级车怎么选?看中迈锐宝XL和斯柯达速派。 电脑文件通过Wps打开再用微信分享到多人编辑,电脑文件删除为撒手机也会删除_百度问一问 美国zatilen无油空气炸锅真的好用吗 欧美88tilenm88怎样下载 德国皇室和军队的等级 英语中有什么动词来表示贴瓷砖或者贴面砖的这个贴的动作呢? 1911--1949年中国是资本主义制度吗 poctilen 是什么包的牌子? 如果西方不侵略中国,中国还有可能演变为资本主义吗? xsb@tilen.com.cn 天伦月饼官网的邮箱 用QQ邮箱发邮件 QQ邮箱说没有这个邮箱地址 是不是不能用QQ邮箱发信 如果没有西方列强的入侵,中国会走向资本主义吗 跪求 人教版 英语 九年级上册第三单元单词 全部 梦见和男朋友巨浪航海? 如果中国宋朝(公元1000年)进入资本主义国家,那么会怎么样 till是什么意思 梦见男友掉进海里 假如中国资本主义萌芽没有阻碍,中国的资本主义能发展到什么样 梦见男朋友是海王? 如果美国通过各种手段真的将中国的转型为资本主义,会对中国百姓造成怎样的影响? 德国钢号:C45+QT-SH ,对应我国钢号45钢,QT应该表示调质处理,那么SH表示什么意思呢? c#制作activex控件其他文件应该放在哪 比如说引用的dll和相关的配置文件*.ini 混凝土中的错台是什么 ps可以把图片变成线稿吗 小米10怎么截屏带手机壳 socket三次握手代码基于C++谁有啊?? 错台的术语定义 ()ile里面填什么英文字母 桥梁承台模板错台是什么意思 C 语言关于字符串指针,什么时候要用malloc分配内存不是很清楚,请给我详细讲下。 隧道中错台是什么意思 VC中length需要什么头文件 市政道路大于100㎜的错台什么意思思 涵洞错台是什么意思? 小米手机截图怎么加手机边框 VC++中关于读取文本文件内容然后通过列表控件逐行输出的问题 水泥路面错台是怎么回事? 你好 错台是什么意思的? 立柱的节段间错台是什么意思 盾构错台是什么意思