读书人

不调用库函数字符串转换为整数的方法

发布时间: 2012-02-17 17:50:42 作者: rapoo

不调用库函数,字符串转换为整数的方法
Google了,但还是不甚了解。

请大家用C语言讲解一下转换的方法,详细一点好,多多益善,谢谢!

[解决办法]
http://topic.csdn.net/u/20100610/08/279D4852-B6C1-48CC-AB2D-391761BCE0C0.html
----
点下搜索,结果随处可得...

[解决办法]

C/C++ code
int Atoi(const char *nptr){    /*int+'0' ->char    char-'0'->int*/    int c;              int total;         int sign;           while ( isspace((int)(unsigned char)*nptr) )//检查参数是否为空格字符        ++nptr;    c = (int)(unsigned char)*nptr++;    sign = c;              if (c == '-' || c == '+')        c = (int)(unsigned char)*nptr++;        total = 0;    while (isdigit(c)) //字符c是否为数字    {        total = 10 * total + (c - '0');             c = (int)(unsigned char)*nptr++;      }    if (sign == '-')        return -total;    else        return total;  }
[解决办法]
C/C++ code
int chg(const char* sznum){    int iret = 0;    char chtmp;    while (chtmp = *sznum++)    {        iret *= 10;        iret += chtmp - '0';    }    return iret;}int main(int argc, char* argv[]){    printf("%d",chg("12345"));    return 0;}
[解决办法]
比如
char s[]="123";
int v;
char *p;
v=0;
p=s;
while (1) {
if (p[0]==0) break;
v=v*10+(p[0]-'0');
p++;
}
//v此时的值为123

读书人网 >C语言

热点推荐