一、atoi函数概述
atoi函数是C/C++语言标准库中的一个函数,用于将字符串转换为整数。其原型如下:
int atoi(const char *str);
该函数的作用是把字符串str转换成一个整数(十进制表示)。函数会扫描参数str字符串,跳过前面的空格字符,直到遇上数字或正负符号,才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
二、atoi函数的参数
该函数只有一个参数,即要转换成整数的字符串指针,指针指向的地址中存储字符串。
三、atoi函数的返回值
函数返回转换后的整数,如果无法转换,返回0。
四、atoi函数例子及说明
1、atoi函数正常转换
下面这段代码展示了atoi函数的基本使用方法。可以看出,在将字符串"123"转换为整数后,输出结果为123。
#include <stdio.h> #include <stdlib.h> int main() { char *str = "123"; int num = atoi(str); printf("%d", num); return 0; }
2、atoi函数在遇到不合法字符时不转换
下面的代码演示了,如果传入的字符串中含有非数字字符和正负号, atoi函数将在该字符处停止转换并返回整数,输出结果为0。
#include <stdio.h> #include <stdlib.h> int main() { char *str = "12a"; int num = atoi(str); printf("%d", num); return 0; }
3、atoi函数在字符串为空时返回0
下面的代码展示了当字符串为空时,aoti函数返回0的情况。
#include <stdio.h> #include <stdlib.h> int main() { char *str = ""; int num = atoi(str); printf("%d",num); return 0; }
4、atoi函数在字符串中含正负号和空格时,会自动忽略空格
下面的代码展示了athe函数在处理含有正负号和空格的字符串时,会自动忽略空格。
#include <stdio.h> #include <stdlib.h> int main() { char *str = " -12"; int num = atoi(str); printf("%d", num); return 0; }
五、atoi函数的应用场景
atoi函数在字符串转换成整数方面具有广泛的应用场景。比如:
- 将字符串类型的配置文件转换成程序所需的参数格式
- 将字符串类型的订单号转换成整型ID,方便数据库查询及操作
- 将输入的用户名(字符串类型)转换成数字类型的用户ID,方便程序处理
六、总结
在C/C++语言中,atoi函数是十分常见的字符串转数字函数,其作用是将一个字符串类型的数字转换成整型数字,便于程序后续的操作和计算。在使用atoi函数时,需要注意传入的字符串是否符合要求。同时,对于非法的字符串传入,atoi函数会自动返回0。