leveldb测试demo(C)

该代码示例展示了如何使用LevelDB C API进行数据库的基本操作,包括创建、打开、写入、读取、删除和关闭数据库,以及最后销毁数据库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自GitHub emnl

#include <leveldb/c.h>
#include <stdio.h>

int main() {
    leveldb_t *db;
    leveldb_options_t *options;
    leveldb_readoptions_t *roptions;
    leveldb_writeoptions_t *woptions;
    char *err = NULL;
    char *read;
    size_t read_len;
    /******************************************/
    /* OPEN */
    options = leveldb_options_create();
    leveldb_options_set_create_if_missing(options, 1);
    db = leveldb_open(options, "testdb", &err);
    if (err != NULL) {
      fprintf(stderr, "Open fail.\n");
      return(1);
    }
    /* reset error var */
    leveldb_free(err); err = NULL;
    /******************************************/
    /* WRITE */
    woptions = leveldb_writeoptions_create();
    leveldb_put(db, woptions, "key", 3, "value", 5, &err);
    if (err != NULL) {
      fprintf(stderr, "Write fail.\n");
      return(1);
    }
    leveldb_free(err); err = NULL;
    /******************************************/
    /* READ */
    roptions = leveldb_readoptions_create();
    read = leveldb_get(db, roptions, "key", 3, &read_len, &err);
    if (err != NULL) {
      fprintf(stderr, "Read fail.\n");
      return(1);
    }
    printf("key: %s\n", read);
    leveldb_free(err); err = NULL;
    /******************************************/
    /* DELETE */
    leveldb_delete(db, woptions, "key", 3, &err);
    if (err != NULL) {
      fprintf(stderr, "Delete fail.\n");
      return(1);
    }
    leveldb_free(err); err = NULL;
    /******************************************/
    /* CLOSE */
    leveldb_close(db);
    /******************************************/
    /* DESTROY */
    leveldb_destroy_db(options, "testdb", &err);
    if (err != NULL) {
      fprintf(stderr, "Destroy fail.\n");
      return(1);
    }
    leveldb_free(err); err = NULL;
    return(0);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值