Linux的ATOI函数提供了一种从一系列字符串中解析出整数数据的方式,它被包含在 C 语言库Libc库中。 ATOI函数实际上就是ASCII to integer(ASCII到整数)的缩写,用来将字符数组转换成整数类型。 ATOI函数通常用于把字符串数字转换成整数数据,以及一些数学计算的基本类型转换,如从字符型变量转换成整型变量。
ATOI函数的结构如下:
int atoi (const char *str);
其中参数str是指向一个字符串的指针,而其返回值是把字符的数值转换后的整数,如果出错(比如非法字符),会返回0,下面是简单的atol使用示例:
#include
#include
void main ()
{
char *number_str = “1234”;
int number;
number = atoi(number_str);
printf(“number = %d\n”, number);
}
上面是使用ATOI函数最简单的一个示例,在此例中,函数atoi把字符串number_str转换为整型变量number。
用ATOI函数有一些需要特别注意的,首先,它会跳过字符串中前导的空白符(如空格,制表符等),然后它只读取由正负号后紧跟的正数字字符,发现非数值字符信息之后,它就会停止转换(比如字符末尾的回车符和换行符都会被忽略)。
另外,它最多能处理的数值是signed int类型的(字符类型最多能处理32位),对参数类型也有一定要求,只能是字符串且必须以空字符串’\0’结尾。
总结起来,用ATOI函数可以快速高效地从字符串中读取整型数据,应用范围比较大,是一个非常重要的函数,Linux中的ATOI函数一定要搞清楚其用法和使用时的限制,以免出现问题。