tchdbex.c

来自「Tokyo Cabinet的Tokyo Cabinet 是一个DBM的实现。这里」· C语言 代码 · 共 61 行

C
61
字号
#include <tcutil.h>#include <tchdb.h>#include <stdlib.h>#include <stdbool.h>#include <stdint.h>int main(int argc, char **argv){  TCHDB *hdb;  int ecode;  char *key, *value;  /* create the object */  hdb = tchdbnew();  /* open the database */  if(!tchdbopen(hdb, "casket.tch", HDBOWRITER | HDBOCREAT)){    ecode = tchdbecode(hdb);    fprintf(stderr, "open error: %s\n", tchdberrmsg(ecode));  }  /* store records */  if(!tchdbput2(hdb, "foo", "hop") ||     !tchdbput2(hdb, "bar", "step") ||     !tchdbput2(hdb, "baz", "jump")){    ecode = tchdbecode(hdb);    fprintf(stderr, "put error: %s\n", tchdberrmsg(ecode));  }  /* retrieve records */  value = tchdbget2(hdb, "foo");  if(value){    printf("%s\n", value);    free(value);  } else {    ecode = tchdbecode(hdb);    fprintf(stderr, "get error: %s\n", tchdberrmsg(ecode));  }  /* traverse records */  tchdbiterinit(hdb);  while((key = tchdbiternext2(hdb)) != NULL){    value = tchdbget2(hdb, key);    if(value){      printf("%s:%s\n", key, value);      free(value);    }    free(key);  }  /* close the database */  if(!tchdbclose(hdb)){    ecode = tchdbecode(hdb);    fprintf(stderr, "close error: %s\n", tchdberrmsg(ecode));  }  /* delete the object */  tchdbdel(hdb);  return 0;}

⌨️ 快捷键说明

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