LSEARCH
Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
名前
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/ に書かれている。
関連キーワード
配列,
メンバー,
マッチ,
size,
LSEARCH,
key,
lsearch,
lfind,
要素,
compar
Linux マニュアル 一覧
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]
Index
- 名前
- 書式
- 説明
- 返り値
- 属性
- 準拠
- バグ
- 関連項目
- この文書について
This document was created by man2html, using the manual pages.
Time: 12:08:36 GMT, June 11, 2022