c++ 字符串转换成int函数 atoi()和stoi()

相同点

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()不会做范围检查,如果超过范围的话,超出上界,则输出上界;超出下界,输出上界。

 

 

    原文作者:不想讀研的研究僧
    原文地址: https://blog.csdn.net/zhangqianqian57/article/details/117251129
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞