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