Scroll to navigation

MEMCHR(3) Linux-Programmierhandbuch 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 Feature-Test-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 Nullbytes 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.2 vor.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
memchr(), memrchr(), rawmemchr() Multithread-Fähigkeit MT-Safe

KONFORM ZU

memchr(): POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

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

bstring(3), ffs(3), index(3), memmem(3), rindex(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wmemchr(3)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Roland Krause <Rokrause@aol.com>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Helge Kreutzmann <debian@helgefjell.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 die Mailingliste der Übersetzer.

6. März 2019