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