MEMMEM

Section: Manuel du programmeur Linux (3)
Updated: 6 juin 2001
Index Retour au Menu Principal

 

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 occurence 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 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 bibliothèque GlibC (2.0.5) est 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

strstr(3)

 

TRADUCTION

Christophe Blaess, 1997.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION


Time: 22:30:04 GMT, December 19, 2004