源码实现 --> atoi函数实现

atoi函数实现

  atoi()函数的功能是将一个字符串转换为一个整型数值。

例如“12345”,转换之后的数值为12345,“-0123”转换之后为-123。

#include <stdio.h>
int my_atoi(const char *str)
{
int total = ; //保存转换后的数值
int isNegative = ; //记录字符串中是否有负号
int length = ; //记录字符串的长度
const char *p = str;
char temp = ''; if(NULL == p) //判断指针的合法性
{
printf("error");
return -;
} while(*p++!='\0') //计算字符串的长度
{
length++;
} p = str; //重新指向字符串的首地址 if(*p == '-') //判断是否有负号
{
isNegative = ;
} for(int i = ;i < length;i++)
{
temp = *p++;
if(temp > ''||temp < '') //滤除非数字字符
{
continue;
}
if(total != ||temp != '') //滤除字符串开始的0字符
{
temp -= '';
total = total* + temp;
}
} if(isNegative) //如果字符串中有负号,将数值取反
return ( - total);
else
return total; //返回转换后的数值
} int main(int argv,char *argc[])
{
printf("%d\n",my_atoi("-0123"));
return ;
}

执行结果:-123

上一篇:IOS第三方库 MARK


下一篇:Security的一些配置