Serialisierung/Deserialisierung ein struct mit einem char* in C

Habe ich ein struct

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];
    }

};

Muss ich konvertieren Sie diese zu einem char* , maximale Länge MaxMailSize > MaxDataSize für das senden über das Netzwerk und dann deserialisiert es am anderen Ende

Kann ich nicht verwenden, tpl oder andere Bibliothek.

Gibt es eine Möglichkeit, das besser zu machen, ich bin nicht so komfortabel mit diesem, oder ist das das beste, was wir tun können.

InformationsquelleAutor Ankur Chauhan | 2009-10-31

Schreibe einen Kommentar