int str2Hex( char *pstr)
{
int ans = 0;
char *pt;
pt = pstr;
if( !pstr )
{
return 0;
}
while( *pt )
{
ans = ans<<4;
if( ( *pt >= 'A' && *pt <= 'F' ) || ( *pt >= 'a' && *pt <= 'f' ) ){
//cout << ((*pt & 0x5f) -0x37) << endl;
//cout << ((0x44 & 0x5f) -0x37) << endl;//0x0D==13
ans = ans | ((*pt & 0x5f) -0x37);
}
else
ans = ans | (*pt) -0x30;
pt++;
}
return ans;
}
本文介绍了一个用于将输入的字符串转换为等效的十六进制数值的C/C++函数实现。该函数通过逐字符读取并解析来完成转换过程,支持大写和小写的十六进制字母。
3347

被折叠的 条评论
为什么被折叠?



