注册 登录
编程论坛 C++教室

新手求助,谢谢!

rohalloway 发布于 2018-09-28 19:24, 1094 次点击
在main函数中

string str = "Hello String";
char *p = (char *)str.c_str();
cout << p << endl;

可以正常输出,结果为 Hello String




然后我把代码写入到我的类中,代码如下:

char * CConvert::StringToCharPtr(string str)
{
    char *p = (char *)str.c_str();
    return p;
}

并在main函数中做如下调用:

string str1 = "你是我的眼";
CConvert *CC = new CConvert();
cout << CC->StringToCharPtr(str1) << endl;

但输出结果为乱码。




请大家帮我看看我哪里写错了,以及错误的原因是什么,谢谢!




[此贴子已经被作者于2018-9-28 19:36编辑过]

2 回复
#2
rjsp2018-09-28 22:54
因为str已经销毁了
#3
rohalloway2018-09-28 23:07
以下是引用rjsp在2018-9-28 22:54:46的发言:

因为str已经销毁了



感谢版主,按照你的提示我把参数改成了引用就可以了,非常感谢!
1