(1)相同点
- 都是C++的字符处理函数,把数字字符串转换成int输出
- 头文件都是#include<cstring>
(2)不同点
<1>参数类型不同
-
atoi()
的参数是const char*
,因此对于一个字符串str我们必须调用c_str()
的方法把这个string
转换成const char*
类型。 -
stoi()
的参数是const string&
,不需要转化为const char*
<2>范围检查
-
stoi()
会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会吐核超出范围。
-
atoi()
不会做范围检查,如果超出范围的话,超出上界,则输出上界,超出下界,则输出下界;