Originální popis anglicky:
memmem - locate a substring
Návod, kniha: Linux Programmer's Manual
#define _GNU_SOURCE
#include <string.h>
void *memmem(const void *haystack, size_t haystacklen,
const void *needle, size_t needlelen);
The
memmem() function finds the start of the first occurrence of the
substring
needle of length
needlelen in the memory area
haystack of length
haystacklen.
The
memmem() function returns a pointer to the beginning of the
substring, or NULL if the substring is not found.
This function is a GNU extension.
This function was broken in Linux libraries up to and including libc 5.0.9;
there the `needle' and `haystack' arguments were interchanged, and a pointer
to the end of the first occurrence of
needle was returned. Since libc
5.0.9 is still widely used, this is a dangerous function to use.
Both old and new libc's have the bug that if
needle is empty
haystack-1 (instead of
haystack) is returned. And glibc 2.0
makes it worse, and returns a pointer to the last byte of `haystack'. This is
fixed in glibc 2.1.
strstr(3)