程序中用到字符串和int合成字符串,受java习惯的影响,直接进行了字符串与int的+操作,结果不正确。查了一下才明白问题所在,记录一下
string str=”abc”+1;
输出为:bc,因为”abc”为const
char[],加1实际是地址+1,因此输出为bc。
string
str=”abc”+’$’
输入出为空。因为字符自动转换成int值,而“abc”地址加上这个int值超过了其地址范围,因此结果为空或者未知。
可用的方式:
#include<sstream>
stringstream
ss;
int a=123;
ss<<a;
string b=a.str()
c++ string 拼接 int错误,布布扣,bubuko.com
原文:http://www.cnblogs.com/clyskyblue/p/3572454.html