用字符串和基本整数序列化/反序列化联合数组的最佳方法是什么?
例如,我们要序列化:
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() 函数相反。
format 只是一个用于识别的字符串(任意)
知道如何实现这些功能吗?此外,如何使其跨架构可移植?
谢谢!