Для преобразования из system :: String в std :: string я использую следующий код:
IntPtr p = Marshal::StringToHGlobalAnsi(PORT);
string newString = static_cast<char*>(p.ToPointer());
Marshal::FreeHGlobal(p);
Однако место, где я получил код, использует
IntPtr p = Marshal::StringToHGlobalAnsi(PORT);
char* newString = static_cast<char*>(p.ToPointer());
Marshal::FreeHGlobal(p);
По какой-то причине я получаю мусор в newString, если я делаю версию char *.Кто-нибудь знает, почему это случилось?
Спасибо.