1. NOM▲
memmem - Rechercher une sous-chaîne
2. SYNOPSIS ▲
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#include <string.h>
void
*
memmem
(
const
void
*
haystack, size_t haystacklen,
const
void
*
needle, size_t needlelen);
3. DESCRIPTION ▲
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.
4. 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.
5. CONFORMITÉ ▲
Cette fonction est une extension GNU.
6. 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. Cela a été corrigé dans la glib 2.1
7. VOIR AUSSI ▲
strstr(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> ».