本文主要是介绍atoi自行实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
atoi系列是字符跟数字之间转换常用的函数,其实自己实现也是挺快的,这里写一种带格式检测的atoi函数。函数说明
atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。
返回值
返回转换后的整型数。
#include<stdio.h>
int my_atoi(const char * str)
{
int res=0,begin=0,i;
bool minus=false;
while(*str!='/0')
{
if(begin==0&&(('0'<*str&&*str<'9')|| *str=='-') ) //从第一个数字或者'-'号开始
{
begin=1;
if(*str == '-')
{
minus=true;
str++;
}
}
else if( begin==1&&(*str<'0'||*str>'9') ) //遇到第一个非数字,退出
break;
if(begin==1)
res=res*10+(*str-'0'); //计算
str++;
}
return minus? -res : res;
}
这篇关于atoi自行实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!