ndbm:linux/unix的数据库
dbm/ndbm:dbm是老版本,ndbm是新版本
gdbm:gnu版本
db:最新版本
ndbm是sus标准,我们以ndbm为例。
使用ndbm需要安装gdbm:
sudoapt-get install libgdbm-dev
包含头文件:<gdbm-ndbm.h>。
链接库:-lgdbm-lgdbm_compat
使用gdbm:
包含头文件:<gdbm.h>
链接库:-lgdbm
#####################################################
#include<gdbm-ndbm.h>
typedefstruct {
char*dptr;
intdsize;
}datum;
DBM*dbm_open(constchar *filename, int file_open_flags, mode_t file_mode);
成功返回数据库句柄,出错返回NULL。
打开数据库,创建filename.pag索引文件和filename.dir数据文件。
voiddbm_close(DBM*database_descriptor);
关闭数据库,释放资源。
intdbm_store(DBM*database_descriptor, datum key, datum content, int store_mode);
存储数据,成功返回0,失败返回非0。
store_mode:
DBM_INSERT:添加一条新纪录
DBM_REPLACE:替换一条已有记录
datumdbm_fetch(DBM*database_descriptor, datum key);
从数据库获取一条记录,成功返回数据,失败返回NULL。
intdbm_delete(DBM*database_descriptor, dataum key);
删除一条记录,成功返回0,失败返回非0.
datumdbm_firstkey(DBM*database_descriptor);
返回数据库的第一个记录。
datumdbm_nextkey(DBM*database_descriptor);
在调用firstkey之后调用,返回下一个记录。
intdbm_error(DBM*database_descriptor);
返回错误值。
intdbm_clearerr(DBM*database_descriptor);
清空错误值。
委婉待续......
原文地址:http://blog.csdn.net/wowotouweizi/article/details/43151649