Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
lsearch, lfind - linear suchen und aktualisieren
&pagelevel(4)&pagelevel
Definition | #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 *)); |
Beschreibung | lsearch() ist eine lineare Suchfunktion. Sie gibt einen Zeiger in eine Tabelle zurück, der die Stelle angibt, an der ein gesuchter Wert gefunden wurde. Wenn der gesuchte Wert nicht auftritt, wird er am Ende der Tabelle eingetragen. key zeigt auf den Wert, der in der Tabelle gesucht werden soll. base zeigt auf das erste Element in der Tabelle. nelp zeigt auf eine ganze Zahl, die die aktuelle Anzahl der Elemente in der Tabelle enthält. Die Zahl wird erhöht, wenn der Wert zur Tabelle hinzugefügt wird. width ist die Größe eines Elements in Bytes. compar ist ein Zeiger auf die Vergleichsfunktion, die der Benutzer zur Verfügung stellen muss (strcmp() zum Beispiel). Es werden zwei Argumente erwartet, die auf die Elemente zeigen, die verglichen werden. Die Funktion muss 0 zurückgeben, wenn die Elemente gleich sind, sonst ungleich 0.
lfind() wirkt wie lsearch() , wobei jedoch der gesuchte Wert nicht zur Tabelle hinzugefügt wird, wenn er nicht gefunden wird. Stattdessen wird ein Nullzeiger zurückgegeben.
|
Returnwert | *key | lfind() : bei Erfolg.
lsearch() : bei Erfolg und auch bei neu eingefügtem Element.
|
| Nullzeiger | lfind() : bei Fehler.
|
Hinweise | Die Vergleichsfunktion muss nicht jedes Byte vergleichen, und so können die Elemente zusätzlich zu den zu vergleichenden Werten beliebige Daten enthalten. Undefinierte Ergebnisse können auftreten, wenn nicht genügend Speicherplatz für ein neues Element vorhanden ist. Erweiterung Die Zeiger auf den Schlüssel und das Element an der Basis der Tabelle können Zeiger auf einen beliebigen Typ sein. Der zurückgegebene Wert sollte sich in den Typ Zeiger-auf-Element umwandeln lassen. (Ende) |
Siehe auch | auch bsearch() , hsearch() , tsearch() , search.h . |