程序中用到字符串和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()
相关文章
- 12-07C++取出string的一部分以及int型转成string类型
- 12-07c++ int转string类型
- 12-07C++中将string类型变量转换成int型变量
- 12-07c++ int string互转
- 12-07【C++】int与string互转
- 12-07C++: int和string相互转换
- 12-07【c++基础】int转string自动补零
- 12-07C++ 中 string, char*, int 类型的相互转换
- 12-07Java中调用c/c++语言出现Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/String;)V...错误
- 12-07C字符串和C++中string的区别 &&&&C++中int型与string型互相转换