托管C++中System::String^ 转换为 char*

Posted sinceret

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了托管C++中System::String^ 转换为 char*相关的知识,希望对你有一定的参考价值。

https://docs.microsoft.com/en-us/cpp/dotnet/how-to-convert-system-string-to-standard-string?view=vs-2019

StringToHGlobalAnsi方法可以把托管 String^对象的内容复制到本机堆,

然后将它转换为 (ANSI) 格式。此方法会分配所需的本机堆内存:

//using namespace System::Runtime::InteropServices;
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);
printf(str2);
Marshal::FreeHGlobal( IntPtr(str2) );

 



以上是关于托管C++中System::String^ 转换为 char*的主要内容,如果未能解决你的问题,请参考以下文章

c# string与c++ std::string的互相转换

c# string与c++ std::string的互相转换

System::String 到 QString

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

C++ .NET 将 System::String 转换为 std::string

将 CString 数组转换为 System::String