DOKK / manpages / debian 11 / manpages-fr-dev / memchr.3.fr
MEMCHR(3) Manuel du programmeur Linux MEMCHR(3)

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

#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

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');

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é.

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

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

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

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.

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

Cette page fait partie de la publication 5.10 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/.

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.

6 mars 2019