c++中 结构中有
typedef struct _TEST
{
char a[31];
}TEST,PTEST;
类似char a[31] 这样的数组,应该怎么转换到c#的结构.
我在c# 中定义
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
public struct Test
{
public char[] test;
}
报错 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
我收dword之类的只要不是数组就可以通过。
希望能得到帮助,先谢谢,实在没有搏豆, 如果觉得要收费可以留言联系我。着急
在C#中定义同样的结构体,并且指定映射关系,比如可以定义成
String 修饰时指定长度为31即可。
能给个例子嘛,大侠。谢谢了,真的我没办法解决。
如果需要报酬也可以~先谢过了。。
@Red Cat: 报酬就不用了.可以这样.
[StructLayout(LayoutKind.Sequential, Pack = 1)]
internal struct _TEST
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 31)]
public string a;
}
用StringBuilder去接一下。
发送端用thrift或者protobuf做一下编码,接收端解码,然后……然后就顺便用了……