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