C++中string转换为char*类型返回后乱码怎么办-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联公司于2013年创立,先为乐陵等服务建站,乐陵等地企业,进行企业商务咨询服务。为乐陵企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

这篇文章主要介绍C++中string转换为char*类型返回后乱码怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

问题来源:

在写二叉树序列化与反序列化时发现序列化函数为char* Serialize1(TreeNode *root)  其函数返回类型为char*,但是我在实现的过程中为了更方便的操作添加字符串使用的是C++中string类型的变量,这就导致我最后得到的结果res是string类型,若是要返回需要转化为char *类型。而等我将string类型转为char*后返回在主函数中就成了乱码。

先直接说最后的解决办法:

第一种:定义一个char数组,数组长度为stringlength+1,将string的内容依次赋值给char数组,最后加上'\0' ,然后返回char数组名就行了。

第二种:将string定义为类的成员变量

就贴第一种方法的代码

char *result = new char[res.length() + 1];  //定义需要返回的result对象
for (int i = 0; i < res.length(); ++i)
{
   result[i] = res[i];    //将string类型的res内容都放到result内
}
result[res.length()] = '\0';  //加上结束符\0

当前名称:C++中string转换为char*类型返回后乱码怎么办-创新互联
URL网址:http://hxwzsj.com/article/cdgjog.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 盐亭网站设计 定制网站建设多少钱 企业网站建设公司 app网站建设 网站建设改版 成都做网站建设公司 成都网站建设推广 外贸网站建设 网站制作 成都品牌网站建设 响应式网站设计 四川成都网站建设 成都网站建设 成都网站建设公司 达州网站设计 专业网站建设 重庆电商网站建设 企业网站制作 网站制作 重庆网站设计 网站设计公司 网站建设公司