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:40 GMT, June 11, 2022