MEMCHR(3)

BEZEICHNUNG
memchr, memrchr, rawmemchr - durchsucht Speicher nach einem Zeichen

ÜBERSICHT
#include <string.h>
void *memchr(const void *s, int c, size_t n);
void *memrchr(const void *s, int c, size_t n);
void *rawmemchr(const void *s, int c);

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

memrchr(), rawmemchr(): _GNU_SOURCE

BESCHREIBUNG
Die Funktion memchr() durchsucht die ersten n Zeichen des durch s adressierten Speicherbereichs nach dem ersten Vorkommen von c. Sowohl c als auch die Bytes des Speicherbereichs, auf das s zeigt, werden als unsigned char interpretiert.

Die Funktion memrchr() ähnelt der Funktion memchr(), sucht aber rückwärts vom Ende der n Bytes, auf die s zeigt. Die Funktion rawmemchr() ähnelt memchr(): Sie nimmt an (d.h. der Programmierer weiß genau), dass eine Instanz von c irgendwo in dem Speicherbereich, auf den s zeigt, vorhanden ist und führt daher eine optimierte Suche nach c durch (d.h. keine Verwendung eines Zählerarguments, um den Bereich der Suche zu begrenzen). Falls eine Instanz von c nicht gefunden werden kann, ist das Ergebnis unvorhersehbar. Der folgende Aufruf ist ein schnelles Mittel zum Auffinden des abschließenden Null-Bytes einer Zeichenkette:
char *p = rawmemchr(s, '\0');

RÜCKGABEWERT
Die Funktionen memchr() und memrchr() liefern als Funktionsergebnis einen Zeiger auf das gefundene Zeichen oder NULL, wenn das Zeichen nicht im angegebenen Speicherbereich vorkommt. Die Funktion rawmemchr() liefert als Funktionsergebnis einen Zeiger auf das gefundene Zeichen. Wenn kein passendes Byte gefunden wird, ist das Ergebnis nicht spezifiziert.

VERSIONEN
rawmemchr() kam erstmals in Glibc 2.1 vor. memrchr() kam erstmals in Glibc 2.1 vor.

ATTRIBUTE

  Multithreading (siehe pthreads(7))
Die Funktionen memchr(), memrchr() und rawmemchr() sind multithread-fähig.

KONFORM ZU
Die Funktion memchr() ist konform zu SVr4, 4.3BSD, C89, C99, POSIX.1-2001. Die Funktion memrchr() ist eine GNU-Erweiterung, verfügbar seit Glibc 2.1.91. Die Funktion rawmemchr() ist eine GNU-Erweiterung, verfügbar seit Glibc 2.1.

SIEHE AUCH
ffs(3), index(3), rindex(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wmemchr(3)

KOLOPHON
This page is part of release 3.70 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 http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Roland Krause <Rokrause@aol.com> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.