托管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*的主要内容,如果未能解决你的问题,请参考以下文章