■ Marshal 클래스의 WriteByte 정적 메소드를 사용해 비관리 메모리에 바이트를 쓰는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Runtime.InteropServices; using System.Text; byte[] sourceByteArray = Encoding.UTF8.GetBytes("안녕하세요"); IntPtr targetHandle = Marshal.AllocHGlobal(sourceByteArray.Length); for(int i = 0; i < sourceByteArray.Length; i++) { Marshal.WriteByte(targetHandle, i, sourceByteArray[i]); } string target = Marshal.PtrToStringUTF8(targetHandle); Console.WriteLine(target); Marshal.FreeHGlobal(targetHandle); |