Mam problem :
struct SPacketHeader {
unsigned __int16 Size;
unsigned __int8 Type;
};
struct SPlayer {
SPacketHeader PacketHeader;
unsigned __int32 PID;
unsigned char Nickname[16];
};
packet: (char*)
RECV PACKET SIZE:103 Type : 0x32
67 00 |32 |32 60 e6 03 54 65 72 72 69 74 6c 65 5a g.22`Š.TerritleZ
size |type |pid |name
SPlayer *Player = (SPlayer *)packet;
unsigned __int16 Size; łąduje 67 00 // dobrze
unsigned __int8 Type; łąduje 32 // dobrze
unsigned __int32 PID; ładuje 32 60 e6 03 54 powinien przyjać32 60 e6 03 (54 jest z nicku /// tu źle ładuje
unsigned char Nickname[16]; ładuje 65 72 72 69 74 6c 65 5a ( powinien 54 65 72 72 69 74 6c 65 5a ) // tu źle ładuje .. ucina pierwszą liter stringu
Dlaczego tak się dzieje i jak to naprawić
tutaj jakby ktoś chciał spróbować naprawić :