スポンサーリンク

LSEARCH(3) FreeBSD ライブラリ関数マニュアル LSEARCH(3)

名称

lsearch, lfind − 線形探索ルーチン

ライブラリ

互換ライブラリ (libcompat, −lcompat)

書式

#include <sys/types.h>

char *

lsearch(const void *key, const void *base, size_t *nelp, size_t width, int (*compar)(void *, void *));

char *

lfind(const void *key, const void *base, size_t *nelp, size_t width, int (*compar)(void *, void *));

解説

このインタフェースは、これが書かれるより前に時代遅れでした。

関数 lsearch() 及び lfind() は基本的な線形探索機能を提供します。

base は配列の先頭を指すポインタです。引数 nelp は配列の現在の要素数であ り、各要素サイズのバイト長は width です。関数 compar は、2 つの要素比較に 使用される比較ルーチンです。この関数は、2 つの引数、比較対象を指すポイン タ key と配列メンバを指すポインタを、この順序でとります。そして、 key が 指す比較対象が配列のメンバより、小さい、等しい、大きいと考えられるそれぞ れの場合について、負、 0 、正の整数を返さなければなりません。

関数 lsearch() 及び lfind() は、 base によって参照される配列の中で key が 位置するポインタを返します。もし key が存在しない場合、 lfind() はヌルポ インタを返し、 lsearch() はそれを配列に追加します。 lsearch() 要素が配列 に追加されると、により配列要素が追加されると、引数 nelp によって参照され る位置が 1 つ加算されます。

関連項目

bsearch(3), db(3)

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク