atoi(c++实现)

来源:互联网 发布:日本股票行情查看软件 编辑:程序博客网 时间:2024/06/05 17:18
写atoi时,发现有很多细节要注意,经过多次测试,写了一个考虑比较全面的版本。class Solution {public: int atoi(const char *str) { int num=0,flag=1,numOfSingle=0,i=0; const int n=strlen(str); while(str[i]==' '&& i1) return 0; for(;i<n;i++) { //中间出现无效符号,则返回当前num if(str[i]<'0'||str[i]>'9') break; if(num >INT_MAX/10 || num == INT_MAX/10 && (str[i]-'0') > INT_MAX%10) return flag==-1 ? INT_MIN:INT_MAX; num=num*10+str[i]-'0'; } return num*flag; } };
0 0
原创粉丝点击