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