NOM
memmem - Rechercher une sous-chaîne.
SYNOPSIS
#define _GNU_SOURCE
#include <string.h>
void *memmem(const void *haystack, size_t haystacklen,
const void *needle, size_t needlelen);
La fonction memmem() recherche le début de la première occurrence de la
sous-chaîne needle (NdT : aiguille) de longueur needlelen au sein de la
zone de mémoire haystack (NdT : meule de foin) de longueur haystacklen.
VALEUR RENVOYÉE
La fonction memmem() renvoie un pointeur sur le début de la
sous-chaîne, ou NULL si aucune sous-chaîne n’est trouvée.
CONFORMITÉ
Cette fonction est une extension GNU.
BOGUES
Cette fonction ne fonctionnait pas avec les bibliothèques Linux jusqu’à
libc 5.0.9 incluse, car les arguments needle et haystack étaient
inversés. De plus, la fonction renvoyait un pointeur sur la fin de la
première occurrence de needle renvoyée.
Un bogue supplémentaire existe dans toutes les bibliothèques libc : si
needle est vide, la fonction renvoie haystack-1 (au lieu de haystack).
La bibliothèque glibc 2.0 était encore pire, puisqu’elle renvoyait un
pointeur sur le dernier octet de haystack. Ceci a été fixé dans la
glib 2.1
VOIR AUSSI
strstr(3), feature_test_macros(7)
COLOPHON
Cette page fait partie de la publication 3.23 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/.
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».