#include #include #include void *memmem(const void *buf, const void *pattern, size_t buflen, size_t len) { char *bf = (char *)buf, *pt = (char *)pattern, *p = bf; while (len <= (buflen - (p - bf))) { if (NULL != (p = memchr(p, (int)(*pt), buflen - (p - bf)))) { if (!memcmp(p, pattern, len)) return p; else ++p; } else break; } return NULL; } void main() { char *ptr1 = "kjkdkjafk;fdakjk;ljfd;lasjdfk;lasjdfk;lasjdk;asjI love her\0ksdljkfd;jsd"; char *ptr2 = "I love"; char *pstr; pstr = memmem(ptr1, ptr2, strlen(ptr1), strlen(ptr2)); printf("%s\n", pstr); }