man memmem (Fonctions bibliothèques) - Rechercher une sous-chaîne.
NOM
memmem - Rechercher une sous-chaîne.
SYNOPSIS
#define _GNU_SOURCE
#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 occurrence de la sous-chaîne aiguille de longueur lg_aiguille 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.
BOGUES
Cette fonction ne fonctionnait pas dans les bibliothèques Linux jusqu'à
libc 5.0.9 incluse, car les arguments
`aiguille' (NDT: needle) et `meule_de_foin' (NDT: haystack) étaient
inversés. De plus la fonction renvoyait un pointeur sur la fin
de la première occurrence de l'aiguille.
Comme la bibliothèque libc 5.0.9 était largement répandue, cette fonction
était dangereuse à utiliser.
Un bug supplémentaire existait 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 bibliothèque GlibC 2.0 était encore pire, puisqu'elle renvoie un
pointeur sur le dernier octet de la `meule_de_foin'. Ceci est corrigé
dans la GlibC 2.1
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.