2 回答
TA贡献1856条经验 获得超17个赞
//字符串专char数组,strl为字符串,需要和函数HexChar(h搭配用
int Str2Hex(CString strl, char *data)
{
int t,t1;
int rlen=0,len=strl.GetLength();
//data.SetSize(len/2);
for(int i=0;i<len;)
{
char l,h=strl[i];
if(h==' ')
{
i++;
continue;
}
i++;
if(i>=len)
{
break;
}
l=strl[i];
t=HexChar(h);
t1=HexChar(l);
if((t==16)||(t1==16))
{
break;
}
else
{
t=t*16+t1;
}
i++;
data[rlen]=(char)t;
rlen++;
}
return rlen;
}
char HexChar(char c) {
if((c>='0')&&(c<='9'))
{
return c-0x30;
}
else if((c>='A')&&(c<='F'))
{
return c-'A'+10;
}
else if((c>='a')&&(c<='f'))
{
return c-'a'+10;
}
else
{
return 0x10;
}
}
TA贡献1824条经验 获得超6个赞
具体的挺麻烦,给你说说思路吧,首先
CString objNum="0xb10x32";
CString num1,num2,temp;
temp=TrimLeft("Ox");//删除左边的Ox
num1=objNum.Left(temp.FindOneOf("Ox"));//假设不知道二进制的位数,num1=b1
num2=obkNum.Mid(temp.FindOneOf("Ox")+2);//num2=32
然后用转换函数转换对应的num1,num2就行了,好像是_atoi();
你查查,这个函数可以设置进制的
不行就自己写一个
- 2 回答
- 0 关注
- 65 浏览
添加回答
举报