J'ai un structsérialisation/désérialisation d'un struct à un char * en C
struct Packet {
int senderId;
int sequenceNumber;
char data[MaxDataSize];
char* Serialize() {
char *message = new char[MaxMailSize];
message[0] = senderId;
message[1] = sequenceNumber;
for (unsigned i=0;i<MaxDataSize;i++)
message[i+2] = data[i];
return message;
}
void Deserialize(char *message) {
senderId = message[0];
sequenceNumber = message[1];
for (unsigned i=0;i<MaxDataSize;i++)
data[i] = message[i+2];
}
};
Je dois convertir à un char *, longueur maximale MaxMailSize> MaxDataSize pour l'envoi sur le réseau et désérialiser puis à l'autre extrémité
Je ne peux pas utiliser tpl ou une autre bibliothèque.
Y a-t-il un moyen de rendre cela meilleur? Je ne suis pas très à l'aise avec cela, ou est-ce le meilleur que nous pouvons faire.
Merci pour l'aide! Je vais essayer ça. –