char*与System::String^的相互转换

#include "stdafx.h"
using namespace System; //这个命名空间如果缺的话,IntPtr这个无法识别
int main(array<System::String ^> ^args)
{
  char* ch1 = "this is chars ";

  //将char*转换为System::String^
  String^ str1= System::Runtime::InteropServices::Marshal::PtrToStringAnsi((IntPtr)ch1);

  //System::String^转换为char*

  char* ch2 = (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str1);
  Console::WriteLine(str1);

  Console::WriteLine(ch2);
  Console::ReadLine();
}

你可能感兴趣的:(String)