不调用库函数,字符串转换为整数的方法
Google了,但还是不甚了解。
请大家用C语言讲解一下转换的方法,详细一点好,多多益善,谢谢!
[解决办法]
http://topic.csdn.net/u/20100610/08/279D4852-B6C1-48CC-AB2D-391761BCE0C0.html
----
点下搜索,结果随处可得...
[解决办法]
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; }
[解决办法]
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