int status;
status=hsearch_r(wishFind,FIND,&(h->retElem),(h->htab));
print("Debug: status is %d\n",status);
结果显示状态为-8400
但是wishFind不在h-> htab。
I think status need to be 0.
it's confused me that status is -8400.
Thanks!
答案 0 :(得分:1)
来自manpage:
hsearch_r()成功时返回非零值,错误时返回0。
这意味着它允许在成功时返回任何非零值,因此您需要满足:
if (status == 0) {
// failure
} else {
// success
}
如果您在哈希表中找不到的,那么您遇到的问题与您向我们展示的代码完全不同。