我需要在我的 CLI 包装器中进行多次转换,System::String^
并且char*
我已经编写了一个函数,但是在返回之前我无法释放堆空间char*
!(随着时间的推移获得堆错误)
转换
char* ManagedReaderInterface::SystemStringToChar(System::String ^source)
{
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(source);
return str2;
}
我使用如下功能:
GetSomething(SystemStringToChar(str), value);
有任何想法吗?!