lfind
LSEARCH(3) Linux Programmer’s Manual LSEARCH(3)
NAME
lfind, lsearch - linear search of an array
SYNOPSIS
#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 *));
DESCRIPTION
lfind() and lsearch() perform a linear search for key in the array
base which has *nmemb elements of size bytes each. The comparison
function referenced by compar is expected to have two arguments which
point to the key object and to an array member, in that order, and
which returns zero if the key object matches the array member, and
non-zero otherwise.
If lsearch() does not find a matching element, then the key object is
inserted at the end of the table, and *nmemb is incremented. In par-
ticular, one should know that a matching element exists, or that more
room is available.
RETURN VALUE
lfind() returns a pointer to a matching member of the array, or NULL
if no match is found. lsearch() returns a pointer to a matching mem-
ber of the array, or to the newly added member if no match is found.
CONFORMING TO
SVID 1, SVID 3, BSD 4.3, POSIX 1003.1-2003. Present in libc since
libc-4.6.27.
BUGS
The naming is unfortunate.
SEE ALSO
bsearch(3), hsearch(3), tsearch(3)
GNU 1999-09-27 LSEARCH(3)