函数『深入理解 Linux atoi 函数』(linuxatoi)
Linux的atoi函数允许程序员在编写C/C++程序时,将字符串转换为整型数据。在获取命令行参数或用户输入类型时,使用 atoi 函数来转换字符串为整型数据是非常有用的。
在 Linux C/C++ 中,atoi 函数位于头文件 stdlib.h 中,它的函数原型为:
int atoi(const char* str);
atoi 函数的参数 str 是一个字符串,atoi 函数会尝试把这个字符串转换成一个整数,atoi 函数处理的字符串可以是纯数字字符串,也可以除了符号号码外带有其它字符,比如:
char str[] = “+123 hello world”;
int num = atoi(str); // num = 123
值得注意的是,当 atoi 函数转换数字失败时,返回 0, 并不会发出任何错误信息,这就导致了atoi函数之所以没有它自己的返回值,使用者还必须自己去处理错误。
相似的函数还有 atol ,它既可以把字符串转换为 int 类型的数据,也可以把字符串转换为 long 类型的数据,它的函数原型为:
long atol(const char* str);
下面是使用 atoi 函数的一个示例程序:
#include
#include
int main ( int argc, char * argv[] )
{
if( argc != 2 )
{
printf( “usage: programname \n” );
return 0;
}
int n = atoi(argv[1]);
printf( “atoi( %s ) is %d \n”, argv[1], n );
return 0;
}
编译运行上面程序:
$ gcc atoi_test.c -o atoi_test
$ ./atoi_test 20
atoi(20) is 20
总结:Linux 中 atoi 函数提供了将字符串转换成整数的能力,程序员可以非常方便地使用 atoi 函数。另外也可以使用 atol 函数来处理 long 类型的数据类型转换。