《剑指offer》——字符串转换为整数

来源:互联网 发布:宁知此为归骨所耶翻译 编辑:程序博客网 时间:2024/03/29 16:15
#include<iostream>using namespace std;int strToInt(const char* str){    int num = 0;    int t = 1;    while(*str != 0)//字符串结束    {        if(*str < '0' || *str > '9')//若元素不是数字字符        {            if((str[0] == '-' || str[0] == '+') && strlen(str) == 1)//若只有加号或减号            {                return 0;            }            if(str[0] == '-')//若首元素是负号             {                t = -1;                ++str;            }            else if(str[0] == '+')//若首元素是正号            {                ++str;            }            else                return 0;        }        num = num * 10 + *str - '0';//将数字字符转换为整数        ++str;    }    if(num * t < INT_MIN)//若超出int的界限        return 0;    else if(num * t > INT_MAX)        return 0;    else        return num * t;}int main(){    char str[] = "2500";    cout << strToInt(str) << endl;}
0 0
原创粉丝点击