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

来源:互联网 发布:pano2vr软件视频教程 编辑:程序博客网 时间:2024/05/16 17:34

#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();
}
0 0