tags:

views:

121

answers:

3

Hello all. I'm trying to write a string routine in C, and I keep hitting on the same issue.

In C, I have this string:

MAMAAMAAALJ

If I have this string:

AAA

How can I determine that AAA is inside of MAMAAMAAAJ?

+5  A: 

Many C runtime libraries contain the function strstr (const char *s1, const char *s2).

If s2 is within s1, it returns a pointer within s1 to the beginning of the substring, otherwise returns NULL.

wallyk
*All* conforming hosted implementations of C provide `strstr`.
caf
How many `C` implementations are conforming? In my experience, a few have some other name for this function and a few don't offer anything too close to it.
wallyk
I think pretty much every general-purpose C compiler supports `strstr`. Many environments also include the POSIX standard `index` function in `<strings.h>`, but ANSI C is certainly more widespread.
intgr
+1  A: 
strstr("MAMAAMAAAJ", "AAA");

returns the pointer to the occurrence of the search string, or NULL if not found

intgr
A: 

Boyer–Moore string search algorithm


C realization

demas
I don't know whether to upvote or downvote, so I will not vote.
Stefan Kendall
BM for very short string, im in same situasion as stefan.
kar