unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

LSEARCH(3)                 Linux Programmer's Manual                LSEARCH(3)



NAME
       lfind, lsearch - linear search of an array

SYNOPSIS
       #include <&lt;search.h>&gt;

       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 other-
       wise.

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

CONFORMING TO
       SVr4, 4.3BSD, POSIX.1-2001.  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 3.05 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.



GNU                               1999-09-27                        LSEARCH(3)