一、IntPtr 与 string互转
1.string 转 IntPtr
string str = "message";
IntPtr msg= Marshal.StringToHGlobalAnsi(str);
2.
string message= Marshal.PtrToStringAnsi(msg);
//释放
Marshal.FreeHGlobal(msg);
二、char*与string互转
string str = "message";
char* aChar = (char*)System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(str).ToPointer();
string result = Marshal.PtrToStringAnsi((IntPtr)aChar);
三、char* 与 IntPtr互转
可以直接强制类型转换
IntPtr msg= (IntPtr)aChar;
char* aChar = (char*)msg;