程序中用到字符串和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类型---路径拼接在批处理程序中的应用
- C++中的string类型转换为int类型
- C字符串和C++中string的区别 &&&&C++中int型与string型互相转换
- C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
- C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
- C++中 int、string等类型转换方法
- C++中将int转变成string和string转变成int
- golang 操作redis 错误:failed redigo: unexpected type for String, got type int64
- C++中的string类型转换为int类型
- C++中int、double、float。string等常见类型转换