函数『深入理解 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 类型的数据类型转换。


数据运维技术 » 函数『深入理解 Linux atoi 函数』(linuxatoi)