引用一楼的
[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Auto)]
public struct StructA
{
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=16)]
public string A;
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=16)]
public string B;
public char C;
public char D;
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=16)]
public string E;
[MarshalAs(UnmanagedType.ByValTStr,SizeConst=160)]
public string F;