2 回答

TA貢獻1856條經(jīng)驗 獲得超17個贊
//字符串專char數(shù)組,strl為字符串,需要和函數(shù)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條經(jīng)驗 獲得超6個贊
具體的挺麻煩,給你說說思路吧,首先
CString objNum="0xb10x32";
CString num1,num2,temp;
temp=TrimLeft("Ox");//刪除左邊的Ox
num1=objNum.Left(temp.FindOneOf("Ox"));//假設(shè)不知道二進制的位數(shù),num1=b1
num2=obkNum.Mid(temp.FindOneOf("Ox")+2);//num2=32
然后用轉(zhuǎn)換函數(shù)轉(zhuǎn)換對應(yīng)的num1,num2就行了,好像是_atoi();
你查查,這個函數(shù)可以設(shè)置進制的
不行就自己寫一個
- 2 回答
- 0 關(guān)注
- 91 瀏覽
添加回答
舉報