Provided by: manpages-es_1.55-3_all bug

NOMBRE

       memmem - localiza una subcadena

SINOPSIS

       #define _GNU_SOURCE
       #include <string.h>

       void *memmem(const void *haystack, size_t haystacklen,
                    const void *needle, size_t needlelen);

DESCRIPCIÓN

       La  función  memmem() busca el principio de la primera ocurrencia de la
       subcadena needle de longitud needlelen en el área de  memoria  haystack
       de longitud haystacklen.

VALOR DEVUELTO

       La función memmem() devuelve un puntero al principio de la subcadena, o
       NULL si la subcadena no se encuentra.

CONFORME A

       Esta función es una extensión GNU.

FALLOS

       Esta función se adaptó a las bibliotecas de Linux y se incluyó a partir
       de  la versión 5.0.9 de libc; allí los argumentos ‘needle’ y ‘haystack’
       estaban intercambiados y se devolvía un puntero al final de la  primera
       ocurrencia  de needle. Ya que todavía se usa ampliamente libc 5.0.9, es
       peligroso utilizar esta función.
       Tanto la antigua como la nueva libc tienen el fallo de que si needle es
       vacío,  se  devuelve  haystack-1 (en lugar de haystack). Y glibc 2.0 lo
       hace peor todavía y devuelve un puntero al último byte  de  ‘haystack’.
       Ésto ha sido solucionado en glibc 2.1.

VÉASE TAMBIÉN

       strstr(3)