将 System::String^ (C# 字符串)转换为 C++ std::string [重复]

Posted

技术标签:

【中文标题】将 System::String^ (C# 字符串)转换为 C++ std::string [重复]【英文标题】:Convert System::String^ (C# string) to C++ std::string [duplicate] 【发布时间】:2012-12-06 19:38:45 【问题描述】:

可能重复:C++/CLI Converting from System::String^ to std::string

我在我的 C++ 代码 (Visual Studio 2010) 中使用了 C# DLL。如何将 System::String^ 转换为 C++ std::string?

【问题讨论】:

【参考方案1】:

System.Runtime.InteropServices.Marshal 有几种方法可以将字符串转换为字符数组,然后您可以使用任何方法获取std::string

我认为建议是使用StringToBSTR,一旦您将数据复制到不同的对象,最终调用FreeBSTR

我作为评论链接的问题推荐StringToCoTaskMemUni

【讨论】:

以上是关于将 System::String^ (C# 字符串)转换为 C++ std::string [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将 System::String^ 转换为 unsigned char*

System.String.Split(null) 不删除空格 (C#)

将 CString 数组转换为 System::String

将字符串数组 (string[]) 添加到 List<string> c#

无法将“System.String”类型的对象转换为 C# 中的“Oracle.DataAccess.Client.OracleParameter”类型

C# String与StringBuilder