System::String^
からchar*
に多くの変換が必要ですが、関数を書きましたが、char*
を返す前にヒープスペースを解放することはできません!System :: StringをStringToHGlobalAnsiの関数で
変換私はのような機能を使用し
char* ManagedReaderInterface::SystemStringToChar(System::String ^source)
{
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(source);
return str2;
}
(時間をかけてヒープエラーが発生します):
GetSomething(SystemStringToChar(str), value);
任意のアイデア?
最初に 'System :: String'の代わりに' char * 'を使用できますか? –
ネイティブのC++クラスのラッパーです。はい、それはCLI関数のSystem:Stringでなければなりません! – leon22