序列化包含struct的结构数组,该结构包含带有tpl的字符串数组

时间:2013-04-19 20:08:59

标签: c serialization struct

我有一些用C语言编写的代码,其中包含一些用于保存数据的相当实质的结构。我想使用tpl对struct数据进行序列化/反序列化,以保存和加载程序的数据,而不必编写一堆代码来执行此操作。

我的问题在于tpl_map()函数:我似乎无法解析一个语句,它会序列化一个包含一个包含字符串数组的结构的结构数组。

tpl's documentation并不一定说你可以做到这一点,或者你不能这样做。我要序列化的内容将由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)中的A(S($(A(i))))会出现此问题。

有什么想法吗?

0 个答案:

没有答案