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   ポインター   lfind   lsearch   線形   nmemb   返り値   libc   バイト   期待   最後   領域   把握   用語   allbox   インターフェース   属性   Thread   safety   実装   選び方   リリース   一部

Linux マニュアル 一覧

関連するコマンド・関数

lfind.3   bsearch.3   gpasswd.1   dsp56k.4   getpgid.2   getpgrp.2
 

Index

名前
書式
説明
返り値
属性
準拠
バグ
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:32 GMT, October 11, 2026