VC 整数转16进制的字符串
int EX0IEN;
cstring strEX0IEN;
char c1[4];
sprintf(c1, "0x%02x",EX0IEN);
strEX0IEN.Format("%s", c1);
VC 16进制的字符串转整数
int ChangeNum(CString str,int length)
{
char revstr[16]={0}; //根据十六进制字符串的长度,这里注意数组不要越界
int num[16]={0};
int count=1;
int result=0;
strcpy(revstr,str);
for (int i=length-1;i>=0;i--)
{
if ((revstr[i]>='0') && (revstr[i]<='9'))
num[i]=revstr[i]-48;//字符0的ASCII值为48
else if ((revstr[i]>='a') && (revstr[i]<='f'))
num[i]=revstr[i]-'a'+10;
else if ((revstr[i]>='A') && (revstr[i]<='F'))
num[i]=revstr[i]-'A'+10;
else
num[i]=0;
result=result+num[i]*count;
count=count*16;//十六进制(如果是八进制就在这里乘以8)
}
return result;
}
int main()
{
CString str="0x11";
int n=0;
n=ChangeNum(str,str.GetLength());
printf("%d
",n);
return 0;
}