Content-type: text/html Man page of lsearch

lsearch

Section: C Library Functions (3)
Index Return to Main Contents
 

NAME

lsearch, lfind - Perform a linear search and update  

LIBRARY

Standard C Library (libc.so, libc.a)  

SYNOPSIS

#include <search.h>

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

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

STANDARDS

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

lsearch(), lfind():  XPG4, XPG4-UNIX

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

PARAMETERS

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

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

[Digital]  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

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.  

RELATED INFORMATION

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

Standards: standards(5) delim off


 

Index

NAME
LIBRARY
SYNOPSIS
STANDARDS
PARAMETERS
DESCRIPTION
NOTES
RETURN VALUES
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:41:34 GMT, October 02, 2010