看板 C_Sharp 關於我們 聯絡資訊
請問各位高手 小弟我使用c#寫了一個client程式 使用socket去跟c++ 的server作溝通 溝通的內容是一個struct c# 中 struct的格式 [Serializable()] public struct LOGIN_PERMISSION_DATA { public short version; public byte[18] username; public byte[15] password; public int idx; public uint checkkey; public byte client_id; public byte permission; } c++中 struct的格式 typedef struct tagLoginPermission { short version; char username[18]; char password[15]; int idx; unsigned int checkkey; iUInt8 client_id; iUInt8 permission; } LOGIN_PERMISSION_DATA; 可是我在c++始終無法解譯我使用socket send過去的data 我將這個struct 在c# 轉為 byte[] 的時候 長度是317 可是我使用c++寫一個簡單的範例 我在裡頭使用 sizeof(LOGIN_PERMISSION_DATA) 的時候 大小只有 48(WORD) 請問為何會如此呢 我是否有哪裡疏忽掉了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.110.100
megaman1206:難道是指標? 09/08 21:53
tomex:C#轉struct至win32,需要作很多size屬性宣告,不是那麼簡單 09/10 13:52
tomex:網路上有文章在講c# to c++結構對比上的宣告方式,去查看看 09/10 13:52