【发布时间】:2015-04-09 08:44:13
【问题描述】:
我正在尝试在 c 中创建一个哈希表,但是当我尝试在表中插入元素时遇到了一个小问题。
当我尝试像这样插入 Pairs 时,一切正常。
{
char c1[] = "www.google.com";
char c2[] = "8.8.8.8";
char c3[] = "www.yahoo.com";
char c4[] = "67.195.160.76";
char c5[] = "www.olx.ro";
char c6[] = "192.228.79.201";
put(tabel, c1, c2 , sizeof(TPair), f);
put(tabel, c3, c4, sizeof(TPair), f);
put(tabel, c5, c6, sizeof(TPair), f);
AfiTD(tabel);
}
但是当我尝试从文件中读取某些内容时,当前插入会覆盖之前的插入;
TPair 结构包含两个 char* 字段:键和值。 强制转换为 (void*) 是必需的,因为我必须在哈希表中使用通用列表。
http://gyazo.com/648e3aa0b06fe662f18b337993271eed http://gyazo.com/9a1f1613ed70572ce3132c8cc1213ce5
【问题讨论】:
-
您的代码需要更好的变量名。不可能理解“cod”、“aux”、“aux2”、“aL”、“rez”等应该做什么。为了你和其他人一样,让他们更容易理解;)