一个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 无删改 仅以此纪念陈皓(左耳朵耗子)
如题,题主使用家用 nas ,采用开源版本的 vaultwarden/server 的 docker 镜像搭建了 bitwarden 服务。为了方便使用域名访问,是通过有公网 …
小米、华为、oppo 、vivio...哪家系统好用? 广告少 系统流畅 个性化服务 我不说哪一家,因为说了肯定被喷。但是我想你已经知道我说的哪个了 单论系统,广告这些,…
PHP 是一个被广泛使用的来进行Web开发的脚本语言。虽然有很多其它可供选择的Web开发语言,像:ASP 和Ruby,但是PHP是目前为止世界上最为流行的。 那么,是什么让PH…
合速度