如何C#中IntPtr打印输出,搜了很多博客,找了一些源码,发现有这个办法:
IntPtr m_TripleBuffer= Marshal.AllocHGlobal((int)Size);
//此处进行一些操作
//以下把IntPtr中的大量数据读出来,需要选择合适的数组大小,这里选择的是width * height * 5 / 4
byte[] pIn_m = new byte[width * height * 5 / 4];
Marshal.Copy(m_TripleBuffer, pIn_m, 0, width * height * 5 / 4);
//在控制台输出
Console.WriteLine($"{pIn_m.ToArray().Length}");
Console.WriteLine($"{pIn_m.ToArray()}");
//在txt文件输出
StreamWriter sw1 = new StreamWriter(@"D:\raw.txt", true, Encoding.UTF8);
sw1.Write(string.Join(" ",pIn_m.ToArray()));
sw1.Flush();
sw1.Close();