【发布时间】:2013-05-19 07:00:21
【问题描述】:
用字符串和基本整数序列化/反序列化联合数组的最佳方法是什么?
比如我们要序列化:
union val_u {
int i;
char *s;
}
void serialize(void *buffer, const char *format, const union val_u src[]);
void deserialize(union val_u dst[], const char *format, const void *buffer);
联合数组的任意组合表示为 格式字符串的内容:'i'表示整数 而 's' 表示一个字符串。 serialize() 使用联合成员复制 src 的内容 将上述格式表示的类型放入缓冲区。 deserialize() 将缓冲区的内容复制到 dst 由格式表示的联合成员类型。它实际上是 serialize() 函数的逆向。
格式只是一个用于标识的字符串(任意)
知道如何实现这些功能吗?另外,如何让它跨架构移植?
谢谢!
【问题讨论】:
-
听起来非常像一个作业。你试过什么?作业中有什么你不明白的?什么是 C/C++?
-
我将投票关闭,但只是提示序列化
char *将是一个指向反序列化时您不会关心的数据的指针,因此您将不得不处理字符串。
标签: c++ c serialization