MEMCHR(3)

NOM
memchr, memrchr, rawmemchr - Rechercher un caractère dans une zone mémoire

SYNOPSIS
#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);

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

memrchr(), rawmemchr() : _GNU_SOURCE

DESCRIPTION
La fonction memchr() examine les n premiers octets de la zone mémoire pointée par s à la recherche de la première occurrence de c. À la fois s et les octets de la zone mémoire pointée par s sont interprétés comme des unsigned char.

La fonction memrchr() travaille comme memchr(), sauf qu'elle recherche en arrière depuis la fin de la zone de n octets pointée par s plutôt que depuis le début.

La fonction rawmemchr() est semblable à memchr() : elle suppose (c'est-à-dire que le développeur en est sûr) qu'une occurrence de c se trouve quelque part dans la zone de mémoire qui commence à l'endroit pointé par s et fait ainsi une recherche optimisée de c (c'est-à-dire sans utiliser d'argument de comptage pour limiter la longueur de la recherche). Si aucune occurrence de c n'est trouvée les résultats sont imprévisibles. L'appel suivant est une manière rapide de trouver l’octet NULL de fin d'une chaîne :

    char *p = rawmemchr(s, '\0');

VALEUR RENVOYÉE
Les fonctions memchr() et memrchr() renvoient un pointeur sur l'octet correspondant, ou NULL si le caractère n'est pas présent dans la zone de mémoire concernée.

La fonction rawmemchr() renvoie un pointeur sur l'octet correspondant, s'il est trouvé. Si aucun caractère correspondant n'est trouvé, le résultat n'est pas spécifié.

VERSIONS
rawmemchr() a été introduite dans la glibc dans sa version 2.1.

memrchr() a été introduite dans la glibc dans sa version 2.2.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
memchr(), memrchr(), rawmemchr() | Sécurité des threads | MT-Safe

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

La fonction memrchr() est une extension GNU disponible depuis la glibc 2.1.91.

La fonction rawmemchr() est une extension GNU disponible depuis la glibc 2.1.

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

COLOPHON
Cette page fait partie de la publication 5.08 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page, peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french@lists.debian.org>.