memmem   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (3)
Updated: 13 janvier 1998
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
memmem - Rechercher une sous-chaîne  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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É   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Cette fonction est une extension GNU.  



BOGUES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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 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 renvoie un pointeur sur le dernier octet de la meule_de_foin. Ceci est corrigé dans la glibc 2.1  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
strstr(3), feature_test_macros(7)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

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 29 décembre 2007.

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.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION

Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:54:12, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional