BerkeleyDB 代码示例

来源:互联网 发布:淘宝口令是什么 编辑:程序博客网 时间:2024/05/16 17:15
#include <sys/types.h>#include <stdio.h>#include <db.h>#defineDATABASE "access.db"intmain(){DB *dbp;DBT key, data;int ret, t_ret;if ((ret = db_create(&dbp, NULL, 0)) != 0) {fprintf(stderr, "db_create: %s\n", db_strerror(ret));exit (1);}if ((ret = dbp->open(dbp,    NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {dbp->err(dbp, ret, "%s", DATABASE);goto err;}memset(&key, 0, sizeof(key));memset(&data, 0, sizeof(data));key.data = "fruit";key.size = sizeof("fruit");data.data = "apple";data.size = sizeof("apple");if ((ret = dbp->put(dbp, NULL, &key, &data, 0)) == 0)printf("db: %s: key stored.\n", (char *)key.data);else {dbp->err(dbp, ret, "DB->put");goto err;}if ((ret = dbp->get(dbp, NULL, &key, &data, 0)) == 0)printf("db: %s: key retrieved: data was %s.\n",    (char *)key.data, (char *)data.data);else {dbp->err(dbp, ret, "DB->get");goto err;}if ((ret = dbp->del(dbp, NULL, &key, 0)) == 0)printf("db: %s: key was deleted.\n", (char *)key.data);else {dbp->err(dbp, ret, "DB->del");goto err;}if ((ret = dbp->get(dbp, NULL, &key, &data, 0)) == 0)printf("db: %s: key retrieved: data was %s.\n",    (char *)key.data, (char *)data.data);elsedbp->err(dbp, ret, "DB->get");err:if ((t_ret = dbp->close(dbp, 0)) != 0 && ret == 0)ret = t_ret; exit(ret);}
摘自berkeyDB使用手册
0 0
原创粉丝点击