⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcbdbex.c

📁 Tokyo Cabinet的Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符
💻 C
字号:
#include <tcutil.h>#include <tcbdb.h>#include <stdlib.h>#include <stdbool.h>#include <stdint.h>int main(int argc, char **argv){  TCBDB *bdb;  BDBCUR *cur;  int ecode;  char *key, *value;  /* create the object */  bdb = tcbdbnew();  /* open the database */  if(!tcbdbopen(bdb, "casket.tcb", BDBOWRITER | BDBOCREAT)){    ecode = tcbdbecode(bdb);    fprintf(stderr, "open error: %s\n", tcbdberrmsg(ecode));  }  /* store records */  if(!tcbdbput2(bdb, "foo", "hop") ||     !tcbdbput2(bdb, "bar", "step") ||     !tcbdbput2(bdb, "baz", "jump")){    ecode = tcbdbecode(bdb);    fprintf(stderr, "put error: %s\n", tcbdberrmsg(ecode));  }  /* retrieve records */  value = tcbdbget2(bdb, "foo");  if(value){    printf("%s\n", value);    free(value);  } else {    ecode = tcbdbecode(bdb);    fprintf(stderr, "get error: %s\n", tcbdberrmsg(ecode));  }  /* traverse records */  cur = tcbdbcurnew(bdb);  tcbdbcurfirst(cur);  while((key = tcbdbcurkey2(cur)) != NULL){    value = tcbdbcurval2(cur);    if(value){      printf("%s:%s\n", key, value);      free(value);    }    free(key);    tcbdbcurnext(cur);  }  tcbdbcurdel(cur);  /* close the database */  if(!tcbdbclose(bdb)){    ecode = tcbdbecode(bdb);    fprintf(stderr, "close error: %s\n", tcbdberrmsg(ecode));  }  /* delete the object */  tcbdbdel(bdb);  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -