原因
在项目开发过程中需要将字符串转化成十进制数,起初没有问题。但是在之后的开发过程中程序在运行时突然发生崩溃,由于没有做异常处理,报错信息也不明显。最后发现是因为某个字符串转化的字符串转化的十进制数超过了int的范围。
c++中各数据类型取值范围
解决方法
改用stoll函数代替stoi,记得返回值不能是int类型,换成long long类型 ,不然会发生数据截断,程序不会报错,但结果大概率出现问题。
在项目开发过程中需要将字符串转化成十进制数,起初没有问题。但是在之后的开发过程中程序在运行时突然发生崩溃,由于没有做异常处理,报错信息也不明显。最后发现是因为某个字符串转化的字符串转化的十进制数超过了int的范围。
改用stoll函数代替stoi,记得返回值不能是int类型,换成long long类型 ,不然会发生数据截断,程序不会报错,但结果大概率出现问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/738057.html
如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!