#include <search.h> void *
Fo lsearch
Fa const void *key void *base size_t *nelp size_t width
Fa int lp]*comparrp]lp]const void *, const void *rp]
Fc Ft void *
Fo lfind
Fa const void *key const void *base size_t *nelp size_t width
Fa int lp]*comparrp]lp]const void *, const void *rp]
Fc
DESCRIPTION
The
lsearch ();
and
lfind ();
functions walk linearly through an array and compare each element with
the one to be sought using a supplied comparison function.
The
Fa key
argument
points to an element that matches the one that is searched.
The array's address in memory is denoted by the
Fa base
argument.
The width of one element (i.e., the size as returned by
sizeof ());
is passed as the
Fa width
argument.
The number of valid elements contained in the array (not the number of
elements the array has space reserved for) is given in the integer pointed
to by
Fa nelp .
The
Fa compar
argument points to a function which compares its two arguments and returns
zero if they are matching, and non-zero otherwise.
If no matching element was found in the array,
lsearch ();
copies
Fa key
into the position after the last element and increments the
integer pointed to by
Fa nelp .
RETURN VALUES
The
lsearch ();
and
lfind ();
functions
return a pointer to the first element found.
If no element was found,
lsearch ();
returns a pointer to the newly added element, whereas
lfind ();
returns
NULL
Both functions return
NULL
if an error occurs.