📄 test.c
字号:
#ifdef DMALLOC #include <dmalloc.h>#else #include <stdlib.h>#endif#include <stdio.h>#include <unistd.h>#include <string.h>#include "hash.h" #define maxhash 10int work(void *key,void *data, void *userdata){ int *x = userdata ; printf("%d %-8s-> %s\n",*x ,(char *)key,(char *)data) ; (*x) ++; return 0;}int main(int argc,char *argv[]){ int i ; char key[20] ; char data[20] ; memset(key, 0, 20); memset(data ,0, 20); hashtable *tab = create_hashtable(2) ; for (i=0; i<maxhash; i++) { sprintf(key, "key%d",i) ; sprintf(data, "the line no: %d",i) ; hash_insert((void *)strdup(key), (void *)strdup(data), tab) ; } /* hash_remove("key3",tab) ; // */ printf("remove key4\n") ; hash_remove("key4", tab) ; for (i=0 ;i<maxhash; i++) { sprintf(key,"key%d",i) ; printf("%s->%s\n",key,(char *) hash_value(key,tab)); } hash_remove("key4", tab) ; hash_remove("key4", tab) ; printf("%s->%s\n","this is ", (char *) hash_value("this is ",tab)); printf("\n\n") ; i=0; hash_for_each_do(tab, work, &i) ; printf("\n\nsize %d\n" ,hash_count(tab)) ; int cnt = hash_count(tab) ; /* char *keys[cnt] ; char *d[cnt] ; int x = hash_toarray2(tab , keys, d) ; for (i=0; i<x ;i++){ printf("%s ->%s \n", keys[i], d[i]) ; }*/ hash_free(tab) ;/* exit(EXIT_SUCCESS) ; */ exit(0) ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -