*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> lsearch (3)              



NAME    [Toc]    [Back]

       lsearch, lfind - Perform a linear search and update

SYNOPSIS    [Toc]    [Back]

       #include <search.h>

       void *lsearch(
               const void *key,
               void *base,
               size_t *nelp,
               size_t width,
               int  (*compar)(const  void*,  const void*) ); void
               const void *key,
               const void *base,
                size_t *nelp,
               size_t width,
               int (*compar)(const void*, const void*) );

LIBRARY    [Toc]    [Back]

       Standard C Library (libc)

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       lsearch(), lfind(): XSH5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Points to an entry containing the key that  specifies  the
       entry  to  be  searched  for  in the table.  Points to the
       first entry in the table to be  searched.   Points  to  an
       integer  that  specifies  the current number of entries in
       the table to be searched.   This  integer  is  incremented
       whenever  an  entry  is added to the table.  Specifies the
       size of each entry, in bytes.  Points to  the  user-specified
  function  to be used for comparing two table entries
       (strcmp(), for  example).  This  function  must  return  0
       (zero)  when  called  with arguments that point to entries
       whose keys compare equal, and nonzero otherwise.

DESCRIPTION    [Toc]    [Back]

       The lsearch() function  performs  a  linear  search  of  a
       table.  This function returns a pointer into a table indicating
 where a specified key is located in the table. When
       the  key  is not found in the table, the function adds the
       key to the end of the table. Free space must be  available
       at  the end of the table, or other program information may
       be corrupted.

       The lfind() function is similar to the lsearch() function,
       except  that  when  a  key  is  not  found in a table, the
       lfind() function does not add an entry for the key to  the
       table. In this case, lfind() returns a null pointer.

NOTES    [Toc]    [Back]

       [Tru64  UNIX]  The  lsearch()  function  is reentrant, but
       care should be taken to ensure that the function  supplied
       as argument compar is also reentrant.

       The  comparison  function  need  not  compare  every byte;
       therefore, the table entries can contain arbitrary data in
       addition to the values undergoing comparison.

RETURN VALUES    [Toc]    [Back]

       If  an  entry  in  the  table  matches  the  key, both the
       lsearch() and lfind() functions return a  pointer  to  the
       entry's  location  in  the  table.  Otherwise, the lfind()
       function returns a null pointer, and the  lsearch()  function
  returns a pointer to the location of the newly added
       table entry.

SEE ALSO    [Toc]    [Back]

       Functions: bsearch(3), hsearch(3), tsearch(3), qsort(3)

       Standards: standards(5)

[ Back ]
 Similar pages
Name OS Title
lsearch IRIX linear search and update
lsearch FreeBSD linear search and append
lsearch Linux linear search of an array.
lfind FreeBSD linear search and append
DtSearchQuery HP-UX Perform a DtSearch database search for a specified query
DtSearchExit HP-UX Perform orderly shutdown of search engine
lsync HP-UX update disk
elf_update IRIX update an ELF descriptor
sync HP-UX update disk
sync Tru64 Update all file systems
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service