| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 958 人关注过本帖
标题:新手求助,谢谢!
只看楼主 加入收藏
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
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册: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
快速回复:新手求助,谢谢!
数据加载中...
 
   



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

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