标题:新手求助,谢谢!
只看楼主
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
结帖率:75%
已结贴  问题点数:20 回复次数:2 
新手求助,谢谢!
在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编辑过]

搜索更多相关主题的帖子: string str char 输出 代码 
2018-09-28 19:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
因为str已经销毁了
2018-09-28 22:54
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
得分:0 
以下是引用rjsp在2018-9-28 22:54:46的发言:

因为str已经销毁了



感谢版主,按照你的提示我把参数改成了引用就可以了,非常感谢!
2018-09-28 23:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490059-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.613944 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved