C#指针与字节数组的操作


private static byte[] ReadBytesFromPtr(IntPtr intPtr, int bufferLength)
{
    var result = new byte[bufferLength];
    var count = bufferLength;
    for (var i = 0; i < bufferLength; i++)
    {
        result[i] = Marshal.ReadByte(intPtr, i);
        if (result[i] == 0)
        {
            count = i;
            break;
        }
    }
    return result.Take(count).ToArray();
}
private static void WriteBytesToPtr(IntPtr intPtr, byte[] bytes)
{
    int j;
    for (j = 0; j < bytes.Length; j++)
    {
        Marshal.WriteByte(intPtr, j, bytes[j]);
    }
    Marshal.WriteByte(intPtr, j, 0);
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM