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 nonzero 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
   particular,  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 member of
   the array, or to the newly added member if no match is found.

ATTRIBUTES

   For  an  explanation  of  the  terms  used   in   this   section,   see
   attributes(7).

   ┌───────────────────┬───────────────┬─────────┐
   │InterfaceAttributeValue   │
   ├───────────────────┼───────────────┼─────────┤
   │lfind(), lsearch() │ Thread safety │ MT-Safe │
   └───────────────────┴───────────────┴─────────┘

CONFORMING TO

   POSIX.1-2001,  POSIX.1-2008,  SVr4,  4.3BSD.   Present  in  libc  since
   libc-4.6.27.

BUGS

   The naming is unfortunate.

SEE ALSO

   bsearch(3), hsearch(3), tsearch(3)

COLOPHON

   This page is part of release 4.09 of the Linux  man-pages  project.   A
   description  of  the project, information about reporting bugs, and the
   latest    version    of    this    page,    can     be     found     at
   https://www.kernel.org/doc/man-pages/.




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business