字符串转换成数字

来源:互联网 发布:网络外包 编辑:程序博客网 时间:2024/04/29 20:03
//题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。#include<iostream>#include<string.h>using namespace std;enum Status {valid = 0,invalid};int gStatus = valid;//gStatus是一个全局变量,用来标记非法输入,0int StrToInt(const char *str){gStatus = invalid;//1long long num = 0;if(str != NULL && *str != '\0')//考虑字符串为空并且*str !='\0'的情况{bool minus = false;//定义一个布尔变量if(*str == '+')str++;else if(*str == '-')    {str++;minus = true;//当第一个字符为‘-’时    }while(*str !='\0'){if(*str >='0' && *str<='9'){int flag = minus?-1:1;//d定义一个标志num = num*10+flag*(*str - '0');if((!minus && num>0x70000000)||(minus && num<(signed int)0x80000000))//判断是否溢出    {  num = 0;  break;     }str++;}else {num=0;break;}         }}if(*str == '\0')  gStatus = valid;//return num;}void main(){//char *str = "+300";char *str = " ";int num = StrToInt(str);cout<<num<<endl;}

0 0