I saw another post that suggested the following:
String^ clistr = gcnew String("sample");
IntPtr p = Marshal::StringToHGlobalAnsi(clistr);
char *pNewCharStr = static_cast<char*>(p.ToPointer());
Marshal::FreeHGlobal(p);
I just wanted to check and see if there is any other, preferred way, or if anything was wrong with the above?