MEMMEM(3)          Manuel du programmeur Linux          MEMMEM(3)


NOM
       memmem - Rechercher une sous-chaîne.

SYNOPSIS
       #include <string.h>

       void *memmem (const void *meule_de_foin, size_t lg_meule,
              const void *aiguille, size_t lg_aiguille);

DESCRIPTION
       La  fonction  memmem()  recherche  le début de la première
       occurence de la sous-chaîne aiguille de longueur  lg_aigu­
       ille  au  sein  de  la  zone  de  mémoire meule_de_foin de
       longueur lg_meule.

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

CONFORMITÉ
       Cette fonction est une extensioin GNU.

BUGS
       Cette fonction ne fonctionnait pas dans les  bibliothèques
       Linux jusqu'à libc 5.0.9 incluse, car les arguments `aigu­
       ille' (NDT: needle)  et  `meule_de_foin'  (NDT:  haystack)
       étaient  inversés.  De plus la fonction renvoyait un poin­
       teur sur la fin de la première  occurence  de  l'aiguille.
       Comme  la  bibliothèque libc 5.0.9 est largement répandue,
       cette fonction est dangereuse à utiliser.
       Un bug supplémentaire existe dans toutes les bibliothèques
       libc : Si la chaîne aiguille est vide, la fonction renvoie
       meule_de_foin-1  (au  lieu  de  meule_de_foin).   La  bib­
       liothèque  glibc (2.0.5) est encore pire, puisqu'elle ren­
       voie  un   pointeur   sur   le   dernier   octet   de   la
       `meule_de_foin'.  Bien sûr tout ceci va être corrigé. Pour
       le moment, n'utiliser jamais memmem()  avec  une  aiguille
       vide.



VOIR AUSSI
       strstr(3)


TRADUCTION
       Christophe Blaess, 1997.









GNU                        17 Mai 1998                          1