Я пытаюсь сделать хеш-таблицу в c, но у меня есть небольшая проблема, когда я пытаюсь вставить элементы в таблицу.HashTable overWrite
Когда я пытаюсь вставить такие пары, все работает отлично.
{
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 содержит два символа * поля: ключ и значение. Требуется, чтобы использовать (void *), потому что мне нужно использовать общие списки в Hash Table.
http://gyazo.com/648e3aa0b06fe662f18b337993271eed http://gyazo.com/9a1f1613ed70572ce3132c8cc1213ce5
Ваш код нуждается в улучшенных именах переменных. Невозможно понять, что делать «трески», «aux», «aux2» «aL», «rez» и т. Д. Для вас так же, как и все остальные, сделайте их более понятными;) –