0
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!
4

1 に答える 1

1

マンページから:

hsearch_r() は、成功するとゼロ以外を返し、エラーの場合は 0 を返します。

つまり、成功時にゼロ以外の値を返すことが許可されているため、それに対応する必要があります。

if (status == 0) {
    // failure
} else {
    // success
}

探しているものが実際にハッシュ テーブルにない場合は、示したコードとはまったく別の問題があります。

于 2013-05-28T08:35:01.840 に答える