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數組都要補齊