关于String::String向CString转换,在
http://support.microsoft.com/kb/311259中介绍了三种转换的方法,经过实际测试,采用以下方法的效率是最高的:
//using namespace System::Runtime::InteropServices;
System::String^ str = "A test string.";
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);
CString target = str2;
Marshal::FreeHGlobal((IntPtr)str2);
代码最简单,但效率最差的是:
CString target2 = CString(str);
//using namespace System::Runtime::InteropServices;
System::String^ str = "A test string.";
char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);
CString target = str2;
Marshal::FreeHGlobal((IntPtr)str2);
代码最简单,但效率最差的是:
CString target2 = CString(str);