1. NOM

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

2. SYNOPSIS

 
Sélectionnez
#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

3. 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 :

 
Sélectionnez
char *p = rawmemchr(s, \0);

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

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

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

7. VOIR AUSSI

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

8. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

9. TRADUCTION

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

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <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 à < >.

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