C++ atoi和stoi的区别和联系

联系:
1、都在cstring头文件里
2、功能都是把一个字符串转换为int
3、当字符串中有除了数字外的字符时,只会将这些字符前的数字转换为int

int main()
{
	int a = atoi("+1234!!@12313131313113a12");//本例中stoi的输出结果一样
	cout << a;
}

输出结果为
在这里插入图片描述
区别:
1、函数参数不同:stoi的参数是const string*,atoi的参数是const char*。可以直接将char作为stoi函数的参数,因为string类存在相应的构造函数。但不能将string作为atoi函数的参数,如果一定要用,先将string转化为char(利用string类内的data方法或者c_str方法或者copy方法)。
string和char*的转换可以参考我的博文https://blog.csdn.net/jojozym/article/details/104792257
2、范围检测不同:stoi有范围检测,超过则报错;atoi没有范围检测,超过则返回上界或者下界。
3、违法输入处理不同:stoi会直接报错,atoi

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值