十六进制的string转换成long
long m_nFun(int m, int n)
{
if(n == 0) return 1;
if(n == 1) return m;
return m * m_nFun(m, n-1);
}
long stringToLong(char *str)
{
long i=0;
long Num=0;
long temp=0;
int len=strlen(str);
for (i=len-1;i>0;i--)
{
if (str[i]>='0'&&str[i]<='9')
{
temp=str[i]-48;
}
else if (str[i]>='a'&&str[i]<='f')
{
temp=str[i]-97+10;
}
else if (str[i]>='A'&&str[i]<='F')
{
temp=str[i]-65+10;
}
Num+=m_nFun(16,len-1-i)*temp;
}
return Num;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。