字符转整型

来源:互联网 发布:淘宝大学商学院杭州 编辑:程序博客网 时间:2024/06/08 13:08

输入:-123
输出:1 -123

enum Sta {valid = 1, ivalid};Sta s = valid;int str2num(string str){    int i = 0;    int flag = 1;    int res = 0;    if(str.length() == 0)    {        s = ivalid;    }    if(str[0] == '+')    {        i++;    }    else if(str[0] == '-')    {        flag = -1;        i++;    }    while(i < str.length())    {        if(str[i] >= '0' && str[i] <= '9')        {            res = res * 10 + str[i++] - '0';        }        else        {            s = ivalid;            break;        }    }    return flag * res;}int main(){    string str;    cin>>str;    cout<<s<<" "<<str2num(str)<<endl;    return 0;}

字符数组型

int char2int(char *p){    int n = 0;    while(*p && *p >= '0' && *p <= '9')    {        n = n * 10 + *p - '0';        p++;    }    return n;}int main(){    char *p = "32";    cout<<char2int(p);    return 0;}
0 0