程序中用到字符串和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“、未定义标识符 “cout“、“name”: 未知重写说明符错误
- c语言中strtoint的用法,C++ String(字符串)和 int(整数) 互转
- Java字符串拼接:int和String类型、String和Sting类型
- error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 错误的解决方法
- STL_string.【转】C++中int、string等常见类型转换
- C++中int与string的相互转换【转】
- C++ int 转换成 string intToString
- Java中调用c/c++语言出现Exception in thread "main" java.lang.UnsatisfiedLinkError: Test.testPrint(Ljava/lang/String;)V...错误
- C++读写TXT文件中的string或者int型数据以及string流的用法 - wu_xin
- 【C++】int、const char*、char*、char、string之间的转换