我正在使用此代碼將非託管代碼中的IntPtr緩衝區中的字節保存到文件中。這是一個簡單的回調函數:C# - 如何將IntPtr緩衝區數據保存到文件(最快的方式)?
private void callback(IntPtr buffer, int length)
{
byte[] bytes = new byte[length];
Marshal.Copy(buffer, bytes, 0, length);
FileStream file = new FileStream(filename, FileMode.Create, FileAccess.Write);
file.Write(bytes, 0, length);
file.Close();
}
我想要的是將這些數據存儲到文件並丟棄它。據我所知,非託管代碼中有一個緩衝區,而我的代碼中有第二個。我不想讓身邊的我直接想它的數據複製:
// bad: (unmanaged) buffer -> (managed) bytes -> file
// awesome: (unmanaged) buffer -> file
對於我的任務,我需要存儲的數據文件中最快捷的方式。
這稱之爲是「過時」一個你在你的答案說什麼? –