Linux函数atoi()允许从字符串中的某字段获取整数。该函数的原型如下:
int atoi (const char * str);
该函数用于将字符串str转换为相应的整数,返回其运行结果。
使用atoi()函数来解析整数数据时,应该注意以下几点:
1. 该函数仅支持以十进制的形式解析整数。任何其他进制的整数都会返回0.
2. atoi()按照字符串的顺序解析,只对该顺序可解析的第一个整数起作用。
3. atoi()函数会将被转换字符串中所有字母忽略掉,只网前面所有数字进行转换。如果字符串中没有数字,则atoi()函数返回0.
例如:字符串”123456abcdef”将被解析为123456
另外,因为 atoi()不会进行正常参数检查,当提供给该函数的参数不是有效的字符串时,结果也是未定义的,所以在使用时一定要小心!
下面的实例演示了如何使用Linux函数atoi()来从字符串中获取整数。
#include
#include
int main()
{
char * str1 = "12345";
char * str2 = "Hello World!";
int val1 = atoi(str1);
int val2 = atoi(str2);
printf("val1 = %d, val2 = %d\n", val1, val2);
return 0;
}
这段代码的输出结果为:
val1 = 12345, val2 = 0
因此,自从atoi()只解析字符串中的第一个整数,所以在字符串”Hello world!”中没有整数,所以其结果为0。
综上所述,Linux函数atoi()可用于快速从字符串中获取整数,但也要格外小心,以避免可能出现的异常情况。