Yolinux.com

LSEARCH manpage

Search topic Section


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

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

       +-------------------+---------------+---------+
       |Interface	   | Attribute	   | Value   |
       +-------------------+---------------+---------+
       |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.10 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/.



GNU				  2015-08-08			    LSEARCH(3)