atoi函数的作用:把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。
需注意的问题:(1)怎么区别实参为NULL与0的输出。
(2)实参中含有“+”、“-”怎么处理。
(3)转换成整数的过程中,出现整形溢出,怎么办?
enum status={kvalid=0,kinvalid};
status=kinvalid;
Int Strtoint(char *str)
{
char *p=str;
int flag=1;
long long num=0;
if(NULL==*p) //养成好习惯
p++;
if('-'==*p)
flag=-1;
p++;
if('+'==*p)
p++;
if(isspace(*p))
p++;
while(*p!='\0')
{
if(*p<='9'&&*p>='0')
num=num+flag*(*p-'0');
if(flag>0&&num>0x7fffffff||flag<0&&num<0x80000000)
num=0;
break;
p++;
}
if(*p=='\0')
status=kvalid;
return (int)num;
}