标签:
将一个字符串转换成整数需要注意的几点:
1.字符串为空指针
2.非法字符的输入
3.数据溢出
4.正负号
int atoi(char *str) { if(str==NULL) return 0; char *p=str;int sign=1; while(*p!=‘\0‘&&*p==‘ ‘) p++; if(*p==‘+‘) p++; else if(*p==‘-‘) { sign=-1; p++; } int num=0; while(*p!=‘\0‘) { if(*p>‘9‘||*p<‘0‘) break; else { if(INT_MAX/10< num || (INT_MAX/10==num && INT_MAX-num*10<*p-‘0‘)) return sign>0?INT_MAX:INT_MIN; else { num=num*10+*p-‘0‘; } } p++; } return sign*num; }
标签:
原文地址:http://www.cnblogs.com/beaglebone/p/5878306.html