我使用search.h
庫通過hcreate
函數定義哈希表。獲取(search.h)哈希搜索表中的所有密鑰
我該如何檢查該表中的所有鍵? hsearch
總是期望一個條目來搜索(或存儲)。
This是文檔到管理哈希表(hcreate
,hsearch
和hdestroy
),但有沒有提到如何通過結構進行迭代以獲取所有已存儲密鑰的所有三個功能。
當在表格中存儲條目時,I malloc
是關鍵值,所以想要一個簡單的方法來釋放這些值。
我可以避免必須將它們存儲在單獨的結構(如數組)中嗎?
我不希望hdestroy
自動爲我做這件事,因爲它無法知道key
指向動態分配或靜態內存(或實際上,如果我還沒有釋放內存)。
切換到不同的哈希搜索表庫不是一個選項。我必須與此合作。我在CentOS上使用GCC 4.1.2。
良好的聯繫,我認爲這只是一些古怪的第三方圖書館。請注意安全警告:'MT-不安全種族:hsearch | AS-不安全的堆| AC-Unsafe腐敗mem',這只是確認我的本能,不惜一切代價避免它。 – kdopen 2015-02-11 15:38:50
謝謝,看起來好像沒有四處存儲所有malloc'd元素在一個單獨的結構。 – Nobilis 2015-02-11 15:39:34