我有一些用 C 语言编写的代码,其中包含一些用于保存数据的相当大的结构。我想使用tpl对结构数据进行序列化/反序列化以保存和加载程序的数据,而不必编写一堆代码来完成它。
我的问题在于tpl_map()
函数:我似乎无法让它解析一个语句,在该语句中它将序列化一个结构数组,其中包含一个包含字符串数组的结构。
tpl 的文档不一定说你可以这样做或你不能这样做。我想序列化的东西将由 描述A(S(i$(A(s)A(s)A(s)A(s)iiiiis)sssuussi))
,但tpl_map()
每次都会引发解析错误。
这些是相关的结构定义:
typedef struct y {
char** a;
char** b;
char** c;
char** d;
int e;
int f;
int g;
int h;
int i;
char* j;
} y_t;
typedef struct x {
int a;
y_t y;
char* b;
char* c;
char* d;
unsigned int e;
unsigned int f;
char g[40];
char* h;
unsigned int i;
} x_t;
我正在尝试序列化一个x_t
.
将 tpl 格式字符串削减到最小可能并进行处理,我发现它似乎不喜欢在外部结构内的内部结构内有一个数组。更具体地说,例如A(i)
in会出现问题。A(S($(A(i))))
有什么想法吗?