gdbm 是一个嵌入式的数据库。
http://www.gnu.org.ua/software/gdbm/
占坑: 有时间研究下源代码
示例:链接时 加 –lgdbm 库
#include <stdio.h> #include <string.h> #include <gdbm.h> typedef struct myd_tag { char first[20]; char second[20]; }myd; int main() { GDBM_FILE file; datum key1, data1, ndata1; datum key2, data2, ndata2; char *k1 = "msg1"; char *d1 = "I love C Programming."; char *k2 = "msg2"; myd da = {"Robert", "Smith"}; key1.dptr = k1; data1.dptr = d1; key1.dsize = strlen(k1) + 1; data1.dsize = strlen(d1) + 1; key2.dptr = k2; key2.dsize = strlen(k2) +1; data2.dptr = (char *)&da; data2.dsize = sizeof(da); file = gdbm_open("record",0,GDBM_WRCREAT | GDBM_READER, 0660, 0); gdbm_store(file,key1,data1,GDBM_INSERT); gdbm_store(file,key2,data2,GDBM_INSERT); ndata1 = gdbm_fetch(file,key1); ndata2 = gdbm_fetch(file,key2); printf("ndata1 :%s\n",ndata1.dptr); printf("ndata2 :%s\n",((myd *)ndata2.dptr)->first); printf("ndata2 :%s\n",((myd *)ndata2.dptr)->second); gdbm_close(file); return 0; }