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 (consultez 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 pour trouver le caractère nul 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.

CONFORMITÉ
La fonction memchr() se conforme à SVr4, BSD 4.3, C89, C99 et POSIX.1-2001. 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
ffs(3), index(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 3.40 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <URL:http://perkamon.alioth.debian.org/>.

Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».