您可以使用這樣的事情:
using namespace System;
using namespace System::Runtime::InteropServices;
bool CreateConfigurationFile(int parameters, array<String^>^ arguments)
{
int length = arguments->Length;
char** argv = new char*[length];
for(int i = 0; i < length; ++i)
{
argv[i] = (char*)Marshal::StringToHGlobalAnsi(arguments[i]).ToPointer();
}
runConfig(length, argv);
for(int i = 0; i < length; ++i)
{
Marshal::FreeHGlobal(IntPtr(argv[i]));
}
delete[] argv;
return true;
}
注意int parameters
不使用,因爲.NET數組Length
財產。
如果你想使用的PInvoke調用runConfig
,請使用以下的PInvoke聲明:
int runConfig(int argc, IntPtr argv);
感謝亞歷克斯似乎運作良好。 – Dustybin80