c++ 캐릭터 배열을 c# 배열로 마셜링하기
아래 c++ 구조체 안의 캐릭터 배열을 c# 배열로 마셜링하는 데에는 UnmanagedType.ByValArray와 UnmanagedType.ByValTStr을 쓸 수 있다. UnmanagedType.ByValArray ByValArray를 쓰면 똑같이 캐릭터 배열로 바꾼다. c의 캐릭터는 ansi로서 1바이트를 차지하고 c#의 그것은 유니코드이며 크기가 2바이트다. 전자에서 한글을 표기하려면 두 개의 캐릭터들이 필요하다. 위의 c++ 예에서 구조체에는 한글 두 글자들만 들어갈 수 있으며 예를 들면 ‘가나\32(공백)’이다. 이걸 위의 c#…