C++ char 转换为string, 出现乱码解决方法
C++ char 转换为string, 出现乱码
想通过下面的方式将char 转换为string ,但是转换之后的string出现很多乱码 ,请问这是为什么呢?
a烫烫禧5
PS:我用的是64位机器,编译器是VS 。同样的代码换成G++就没有乱码。
谢谢
------解决思路----------------------
string s(&ch,1);
这样就行了。
------解决思路----------------------
char ch = 'a';
string s(&ch); 乱用的结果
字符跟字符串是有区别的. 一般说的字符串都是有\0结尾的. 你强制把字符转换字符串, 系统就需要从那里开始找\0结束.
结果乱码就来了
------解决思路----------------------
怎么用行,怎么用不行,决定于string的构造函数们是怎样写的。
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
------解决思路----------------------
字符串,需要\0,建议楼主多理解C++中的概念。
想通过下面的方式将char 转换为string ,但是转换之后的string出现很多乱码 ,请问这是为什么呢?
#include<iostream>
using namespace std;
int main()
{
char ch = 'a';
string s(&ch);
cout << s << endl;
}
a烫烫禧5
PS:我用的是64位机器,编译器是VS 。同样的代码换成G++就没有乱码。
谢谢
------解决思路----------------------
string s(&ch,1);
这样就行了。
------解决思路----------------------
char ch = 'a';
string s(&ch); 乱用的结果
字符跟字符串是有区别的. 一般说的字符串都是有\0结尾的. 你强制把字符转换字符串, 系统就需要从那里开始找\0结束.
结果乱码就来了
------解决思路----------------------
怎么用行,怎么用不行,决定于string的构造函数们是怎样写的。
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。
------解决思路----------------------
字符串,需要\0,建议楼主多理解C++中的概念。