MEMMEM

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 13 janvier 1998
Index 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 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 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 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 est encore très largement répandue, cette fonction est dangereuse à utiliser.
Un bogue 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 renvoyait un pointeur sur le dernier octet de la meule_de_foin. Ceci a été corrigé dans la glibc 2.1  

VOIR AUSSI

strstr(3), feature_test_macros(7)  

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 4 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 memmem ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

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

Dernière mise à jour : 17 juillet 2008