hur.cn - 华软网

 热门搜索

谁能写个函数把字符串 abcdef9876543210 转换成16进制 0xABCDEF9876543210

  作者:未知    来源:网络    更新时间:2011/4/17
谁能写个函数把字符串 "abcdef9876543210" 转换成16进制 0xABCDEF9876543210

谢谢。
---华软 网友回答---
不就是酿成大写吗, 大写字母的第五位为0
---华软网友回复---
CString a = "abcdef9876543210";

a.MakeUpper();

a = "0x" + a;

---华软网友回复---
int CStrToHex::Strhex2Int(CString str)
{
int hexdata,lowhexdata;
int hexdatalen=0;
int len=str.GetLength();

for(int i=0;i<len;)
{
char lstr,hstr=str[i];
if(hstr==' ')
{
i++;
continue;
}
i++;
if(i>=len)
break;
lstr=str[i];
hexdata=ConvertHexChar(hstr);
lowhexdata=ConvertHexChar(lstr);
if((hexdata==16)||(lowhexdata==16))
break;
else  
hexdata=hexdata*16+lowhexdata;
i++;
}

return hexdata;

}
char CStrToHex::ConvertHexChar(char ch)
{
if((ch>='0')&&(ch<='9'))
return ch-0x30;
else if((ch>='A')&&(ch<='F'))
return ch-'A'+10;
else if((ch>='a')&&(ch<='f'))
return ch-'a'+10;
else return (-1);

}
十进制转十六进制会吧
---华软网友回复---
直接用系统函数MakeUpper();搞定了,为什么非得自己写?
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。