C# IntPtr 与 string互转

一、IntPtr 与 string互转

string str = "aa";

IntPtr init = Marshal.StringToHGlobalAnsi(str);

string ss= Marshal.PtrToStringAnsi(init);

//最后释放掉

Marshal.FreeHGlobal(init);  

二、char*与string互转

 string a = "11";      

 char* aChar = (char*)System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(a).ToPointer(); 

string result = Marshal.PtrToStringAnsi((IntPtr)aChar);   

三、char* 与 IntPtr互转

可以直接强制类型转换

IntPtr init = (IntPtr)aChar;

char* aChar = (char*)init;

posted @ 2017-03-16 17:02  薛定谔的青蛙王梓  阅读(24312)  评论(0编辑  收藏  举报