函数深度探讨Linux atoi函数(linuxatoi)
Linux atoi函数是常见的字符串处理、字符串转数字的函数,它的实际函数原型为:
int atoi(const char *str);
函数功能是把字符串转换成相应的整数,字符串的格式是由空格、数字、字母和其他特殊符号组成的字符串形式,它首先把前面的空格全部跳过,向后移动指针直至不是空格字符为止,如果有正负号,字符串中可以包含正负号,可以跟在第一个非空字符之前,atoi函数会把正负号一并转化,其后把字符串中所有的字符串都有效地转换成相应的数字,最后忽略其余的字符串,然后给出整数,atod函数可能是最常用的字符串转数字的函数。
如果出现字符串中的字母及空格,atoi函数也会把它们及format处理(Omitted character)掉,因为atoi函数只会转换数字,如果字符串中有非法字符(非空格和数字)则会被忽略,如果全为非法字符则函数返回0。
以上就是Linux atoi函数的综述,它总结起来的功能为字符串转换成整数,其实现的核心代码可以通过下面的函数实现:
int atoi(const char *str)
{
int num = 0;
int signal = 1;
while(*str == ‘ ‘)
str++;
// 判断正负号
if(*str == ‘-‘)
{
signal = -1;
str += 1;
}
// 把字符串转换为数字
while(*str >= ‘0’ && *str
{
num = num * 10 + *str – ‘0’;
str++;
}
return signal * num;
}
总的来说,Linux atoi函数是一种十分有用的字符串操作函数,它能够帮助我们把字符串转换为相应的整形数字,可以应用在很多场合。