int sysMyHex10(char *buf)
{
char *tempbuf = buf;
char *startbuf = NULL;
int start = 0;
int ret = 0;
int i = 0;
int base = 1;
if(buf == NULL)
return 0;
while(*tempbuf != '\0')
{
if(((*tempbuf >= '0') && (*tempbuf <= '9'))
|| ((*tempbuf == '-') && (start == 0)))
{
if(start == 0)
{
startbuf = tempbuf;
}
start = 1;
}
else
{
if(start == 1)
break;
}
tempbuf++;
}
if(startbuf != NULL)
{
if(*startbuf == '-')
{
startbuf++;
while(startbuf != tempbuf)
{
base = 1;
for(i = 0; i < (tempbuf - startbuf - 1); i++)
base = base * 10;
ret = ret + (*startbuf - '0') * base;
startbuf++;
}
return 0 - ret;
}
else
{
while(startbuf != tempbuf)
{
base = 1;
for(i = 0; i < (tempbuf - startbuf - 1); i++)
base = base * 10;
ret = ret + (*startbuf - '0') * base;
startbuf++;
}
return ret;
}
}
return 0;
}
还没有评论,来说两句吧...