linux中的atoi函数是常用函数,其主要用途是把字符串转换成整型。atoi函数出现在头文件stdlib.h,定义如下:
int atoi (const char * str);
该函数的参数是字符串,并且该字符数组必须是以null结尾的字符串,atoi函数的返回值是一个整形数,该函数会分析参数str所指向的字符串,把从str开头直到第一个非数字字符中间的所有数字当做一个数组,然后把这个整数返回。
例如我们声明一个字符数组char * ptr=”123abcdefg”,
如果调用atoi函数atoi(ptr),那么123就会被转化为一个整型123,并返回给我们。 调用atoi函数也可以携带参数,改变atoi的功能,例如atoi(ptr,10)表示将ptr指向的字符串以10为基数来转化。
我们跑一个示例看下结果
#include
#include
int main(void) {
char *ptr="123abcd123e";
int n;
n=atoi(ptr);
printf("n=%d\n",n);
return 0;
}
编译运行该程序,会输出结果
n=123
说明函数atoi开始转换了整数前面相连的所有数字,而忽略了后面的字符。
总结:linux中的atoi函数是常用函数,其主要用途是把字符串转换成整型,可以携带参数,改变atoi的功能,比如atoi(ptr,10)表示将ptr指向的字符串以10为基数来转化,用atoi函数时必须保证参数 str 所指向的字符串是以 null 结尾的字符串,否则会出现奇怪的结果。