https://bbs.csdn.net/topics/390508323/
你可以打印出C++的结构体 我打个比方 C++结构体
public int X public long Y public String xxx public bool aa
这样的结构 在内存中 他是 int 对应的是4个byte long 对应的是8个byte string 两种可能(字符长度+ string->Byte,另一种是 string->byte + \0 这是常见的一种) bool 1个byte
所以结构变Byte[]就是 4+8+((string->Byte).Length +1) + 1 然后就把这个Byte直接发给C++服务端,就会认的出来了
所以我之前跟你提的先看看C++的结构体转成Byte是什么样的打印出来。,int long bool 都是一样的。 然后由C#自己用Byte组合,结构套结构 在C++里他们内存里的数据都是连继的会放在一起,C#是引用类型, 所以你得出的数据就不是你要的结果了。
所有的char数组都要补齐
|
请发表评论