要将system::String转换为std::string,我使用以下代码:
IntPtr p = Marshal::StringToHGlobalAnsi(PORT);
string newString = static_cast(p.ToPointer());
Marshal::FreeHGlobal(p);然而,我获得代码的地方使用
IntPtr p = Marshal::StringToHGlobalAnsi(PORT);
char* newString = static_cast(p.ToPointer());
Marshal::FreeHGlobal(p);但是,由于某些原因,如果我执行char,我会在newString中得到垃圾信息
*
版本。有人知道为什么会这样吗?
谢谢。
发布于 2021-03-01 05:43:19
std::string bla = "ConvertMe";
String^ ResultString= gcnew String(bla.c_str());https://stackoverflow.com/questions/9042434
复制相似问题