相同点:
1.都是c++的字符处理函数,把数字字符串转换成int输出
不同点:
1.头文件库不同:stoi()的头文件是<string>;而atoi()的头文件是<stdlib.h>
2.atoi()的参数是const char*,因此对于一个字符串str我们必须先调用c_str()的方法把string转换成const char类型,而stoi()的参数是const string,不需要将其转换成const char*;
int atoi (const char * str);
int stoi (const string& str, size_t* idx = 0, int base = 10);
参数解释:stoi()函数解析str并将其内容解释为指定基数的整数,该整数作为int值返回。
str:字符串
idx:如果idx不是空指针,则该函数还将idx的值设置为数字后str中第一个字符的位置
base:基数
3.atoi()会做范围检查,默认范围是在int的范围内,如果超过范围的话就会runtime error!
而stoi()不会做范围检查,如果超过范围的话,超出上界,则输出上界;超出下界,输出上界。