Day1 gdbm

本文介绍了一个使用GDBM嵌入式数据库的C语言示例程序。该程序展示了如何创建数据库文件、插入数据记录以及检索数据。GDBM是一个简单且高效的键值对存储数据库。

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

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;
}

转载于:https://www.cnblogs.com/jfm-cs/p/7918927.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值