一个C的序列化库tpl
tpl(http://tpl.sourceforge.net/)是一个开源的小项目,其主要是提供一个可以序列化或反序列化C语言数据的一个API函数库。tpl号称是最有效率的也是最快的,它可以把你内存中的数据存放到文件中,并可以在你需要的时候用文件中反序例化到内存变量中。而且这个函数库没有依赖于别的函数库。
下面是一个简单的示例(来源于其主页)
把一个数组(“序号”和“人名”)序例化到文件中。
include "tpl.h"
int main(int argc, char *argv[]) {
tpl_node *tn;
int id=0;
char name, names[] = { "joe", "bob", "cary" };
tn = tpl_map("A(is)", &id, &name);
for(name=names[0]; id < 3; name=names[++id]) {
tpl_pack(tn,1);
}
tpl_dump(tn, TPL_FILE, "users.tpl");
tpl_free(tn);
}
把上面那个序列化到文件的“序号”和“人名”反序列化回来。
include "tpl.h"
int main(int argc, char *argv[]) {
tpl_node *tn;
int id;
char *name;
tn = tpl_map("A(is)", &id, &name);
tpl_load(tn, TPL_FILE, "users.tpl");
while ( tpl_unpack(tn,1) > 0 ) {
printf("id %d, user %s\n", id, name);
free(name);
}
tpl_free(tn);
}
更详细的使用说明请看其文档:
http://tpl.sourceforge.net/userguide.html
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
综合多个论坛网友消息,腾讯云已开始内测峰值带宽 200M 的锐驰型套餐。 由于链接被 Ban 就不放了,根据标题关键词谷歌即可获得详细信息。 这个月我的 300GB 流量用…
真的是让我感到一些惊艳,有点很像 xx 系统。 不妨碍软件 ui 各种夸张不协调 意淫 在一次 花里胡哨 又是 PPT 做系统系列,Windows 的问题在于建立在屎山…
正如UIzard这个名字所暗示的,这是一个User Interface 的Wizard,从字面上理解,这是一个做界面的向导。这有什么奇怪的,Dreamwave之流已经是相当的成…