plucky (3) lfind.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       lfind, lsearch - 配列を線形検索する

書式

       #include <search.h>

       void *lfind(const void *key, const void *base, size_t *nmemb,
                size_t size, int(*compar)(const void *, const void *));

       void *lsearch(const void *key, void *base, size_t *nmemb,
                size_t size, int(*compar)(const void *, const void *));

説明

       lfind()   と lsearch()  は、 size バイトの要素 *nmemb 個からなる配列 base から、 key を線形検索する。比較
       を行うのは compar が参照している関数で、 これは 2つの引数を持ち、1つめの引数が key  を、2つめの引数は配列
       メンバーを指す。また  compar は、 key が配列のメンバーとマッチしたなら 0、そうでなければ 0 以外を返すこと
       が期待されている。

       lsearch()  は、マッチする要素を見つけられなかったとき、 配列の最後に key をつけ加える。そして *nmemb を 1
       ふやす。  したがって、この関数を使用する際には、マッチする要素が存在するか、 もしくは配列に要素を追加する
       ための領域があるか、を把握しておく必要がある。

返り値

       lfind()  の返り値は、配列のマッチしたメンバーへのポインターである。  もしマッチするメンバーが見つからない
       と NULL を返す。 lsearch()  の返り値も、配列のマッチしたメンバーへのポインターである。 マッチするメンバー
       が見つからなかったときは、 新たにつけ加えたメンバーへのポインターを返す。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌───────────────────┬───────────────┬─────────┐
       │インターフェース属性      │
       ├───────────────────┼───────────────┼─────────┤
       │lfind(), lsearch() │ Thread safety │ MT-Safe │
       └───────────────────┴───────────────┴─────────┘

準拠

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. libc には libc-4.6.27 以降で実装されている。

バグ

       関数の名前の選び方がよくない。

関連項目

       bsearch(3), hsearch(3), tsearch(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10  の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。