【发布时间】:2010-12-11 20:09:41
【问题描述】:
我有一个结构
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];
}
};
我需要将其转换为 char* ,最大长度 MaxMailSize > MaxDataSize 以便通过网络发送,然后在另一端反序列化它
我无法使用 tpl 或任何其他库。
有什么方法可以让这变得更好吗?我对此不太满意,或者这是我们能做的最好的。
【问题讨论】:
标签: c++ c serialization