把字符串转换成整数

发布时间:2016-12-6 13:49:59 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"把字符串转换成整数",主要涉及到把字符串转换成整数方面的内容,对于把字符串转换成整数感兴趣的同学可以参考一下。

#include <iostream> #include <assert.h> #include <stack> using namespace std; enum Status{ InValid=0, Valid }; int isValid=Valid; bool isNullOrEmpty(char* &curPos); int parseInt(char *str){ char *curPos=str; if(isNullOrEmpty(curPos)) return 0; bool isNegtive=false; if(*curPos=='-'){ isNegtive=true; curPos++; }else if(*curPos=='+'){ curPos++; } if(isNullOrEmpty(curPos)) return 0; int num=0; while(*curPos!='\0'){ if(*curPos>='0'&&*curPos<='9'){ num=num*10+(*curPos-'0'); }else{ isValid=InValid; return 0; } curPos++; } if(isNegtive) num=0-num; return num; } bool isNullOrEmpty(char* &curPos){ if(curPos==NULL){ isValid=InValid; return true; } while(*curPos!='\0'&&*curPos==' ') curPos++; if(*curPos=='\0'){ isValid=InValid; return true; } return false; } void main(){ char* str="123"; int num=parseInt(str); if(isValid==Valid){ cout<<num<<endl; }else{ cout<<"error input"<<endl; } str="-123"; num=parseInt(str); if(isValid==Valid){ cout<<num<<endl; }else{ cout<<"error input"<<endl; } str=" a123"; num=parseInt(str); if(isValid==Valid){ cout<<num<<endl; }else{ cout<<"error input"<<endl; } system("pause"); }

上一篇:关于java的内部类---由迭代器是实现引出
下一篇:感谢折磨你的人[一]

相关文章

相关评论