MEMMEM(3)

NOME
memmem - localiza uma subseqüencia

SINÓPSE
#define _GNU_SOURCE
#include <string.h>

void *memmem(const void *palheiro, size_t tam_palheiro,
    const void *agulha, size_t tam_agulha);

DESCRIÇÃO
A função memmem() encontra o início da primeira ocorrência da substring agulha de tamanho tam_agulha na área de memória palheiro de tamanho tam_palheiro.

VALORES RETORNADOS
A função memmem() retorna um ponteiro para o início da substring, ou NULL se a substring não for encontrada.

DE ACORDO COM
Esta função é uma extensão da GNU.

PROBLEMAS
Esta função não funcionava corretamente nas bibliotecas do Linux até a libc 5.0.9 inclusive; os argumentos `agulha' e `palheiro' eram intercambiados, e um ponteiro para o fim da primeira ocorrência de agulha era retornado. Já que libc 5.0.9 ainda é amplamente utilizada, esta é uma função perigosa de usar.
Ambas antiga e nova libc's têm o erro no qual se agulha está vazia palheiro-1 (em vez de palheiro) é retornado. E glibc 2.0 piora a situação, e retorna um ponteiro para o último byte de `palheiro'. Isto está consertado na glibc 2.1.

VEJA TAMBÉM
strstr(3).

TRADUZIDO POR LDP-BR em 20/03/2001.

  Tradução:
Felipe M Pereira <Felipe.Pereira@ic.unicamp.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>