一个C的序列化库tpl

tpl(http://tpl.sourceforge.net/)是一个开源的小项目,其主要是提供一个可以序列化或反序列化C语言数据的一个API函数库。tpl号称是最有效率的也是最快的,它可以把你内存中的数据存放到文件中,并可以在你需要的时候用文件中反序例化到内存变量中。而且这个函数库没有依赖于别的函数库。

下面是一个简单的示例(来源于其主页)

把一个数组(“序号”和“人名”)序例化到文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#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);
}

把上面那个序列化到文件的“序号”和“人名”反序列化回来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值