如何将C语言中的string转换为char*类型并避免转换后出现乱码问题?

2026-04-19 00:471阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1278个文字,预计阅读时间需要6分钟。

如何将C语言中的string转换为char*类型并避免转换后出现乱码问题?

问题来源:在写二叉树序列化与反序列化时,发现序列化函数Serialize1(TreeNode *root)的返回类型为char*,但在实现过程中为了更方便的操作,使用了C++中的string类。

问题来源:

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

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

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

阅读全文

本文共计1278个文字,预计阅读时间需要6分钟。

如何将C语言中的string转换为char*类型并避免转换后出现乱码问题?

问题来源:在写二叉树序列化与反序列化时,发现序列化函数Serialize1(TreeNode *root)的返回类型为char*,但在实现过程中为了更方便的操作,使用了C++中的string类。

问题来源:

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

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

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

阅读全文