LSEARCH
Section: Linux Programmer's Manual (3)
Updated: 1999-09-27
Index
JM Home Page
roff 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()
の返り値も、配列のマッチしたメンバーへのポインタである。
マッチするメンバーが見つからなかったときは、
新たにつけ加えたメンバーへのポインタを返す。
準拠
SVr4, 4.3BSD, POSIX.1-2001.
libc には libc-4.6.27 以降で実装されている。
バグ
関数の名前の選び方がよくない。
関連項目
bsearch(3),
hsearch(3),
tsearch(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- 準拠
-
- バグ
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:51 GMT, November 19, 2007