C++如何从一个cstring字符串中两两提取,转换成相应十六进制数呢

我想问一下如何从一个cstring字符串中两两提取,转换成相应十六进制数呢?譬如CStringstrtemp="1012097D5D7D5EE5"字符不需要转换,最大就是... 我想问一下如何从一个cstring字符串中两两提取,转换成相应十六进制数呢?譬如CString strtemp="1012097D5D7D5EE5"字符不需要转换,最大就是F。最好有源代码哦,谢谢啦
是两两提取哈。7D 5D 5E E5 处理就是7D 5D 5E E5,相应的可以处理的整形数据类型.数据量很大哦,几秒钟传输一次。每次大概有40组左右十六进制字符串。这样处理岂不是很麻烦哦做
展开
 我来答
dukang9904455
2011-01-05 · TA获得超过811个赞
知道小有建树答主
回答量:1028
采纳率:0%
帮助的人:945万
展开全部
你这个是不是类似读串口。
我认为应该使用指针。
void main()
{
int val;
while(1)
{
//取得一次的字符串,char *ch="1012097D5D7D5EE5"
char *p=ch;
while(*p)
{
sscanf(p,"%2x",&val);
printf("%d",val);
p+=2;
}
}
}
tjw_tjw
2011-01-05 · TA获得超过3178个赞
知道大有可为答主
回答量:3078
采纳率:100%
帮助的人:1669万
展开全部
这是一个长整型吧
char *p="1012097D5D7D5EE5";
long l=0;
int i;
for(;*p!=0;)
{
char c=*p++;
if(c>0x39)
c-=0x3f;
else
c-=0x30;
l<<=4;
l+=c;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Anelkin_001
2011-01-05
知道答主
回答量:18
采纳率:0%
帮助的人:11.4万
展开全部
举个短的例子,比如CString strTemp = "10FFEE",
BYTE bt1 = 0;
BYTE bt2 = 0;
BYTE bt3 = 0;
sscanf( strTemp.GetBuffer( strTemp.GetLenght() ), "%2x%2x%2x", &bt1, &bt2, &bt3 );
结果在bt1,bt2,bt3里,十六进制的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式