.Copyright 1990 Software Development Systems, Inc.
1
2
3
4
5
6
7
8
9
10
11
12
|
char
*
strstr
(
const
char
*s1,
const
char
*s2 )
{
int
len2;
if
( !(len2 =
strlen
(s2)) )
return
(
char
*)s1;
for
( ; *s1; ++s1 )
{
if
( *s1 == *s2 &&
strncmp
( s1, s2, len2 )==0 )
return
(
char
*)s1;
}
return
NULL;
}
|
2.Copyright 1986 - 1999 IAR Systems. All rights reserved
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
char
*
strstr
(
const
char
*s1,
const
char
*s2)
{
int
n;
if
(*s2)
{
while
(*s1)
{
for
(n=0; *(s1 + n) == *(s2 + n); n++)
{
if
(!*(s2 + n + 1))
return
(
char
*)s1;
}
s1++;
}
return
NULL;
}
else
return
(
char
*)s1;
}
|
3. GCC-4.8.0
1
2
3
4
5
6
7
8
9
10
11
12
|
char
*
strstr
(
const
char
*s1,
const
char
*s2)
{
const
char
*p = s1;
const
size_t
len =
strlen
(s2);
for
(; (p =
strchr
(p, *s2)) != 0; p++)
{
if
(
strncmp
(p, s2, len) == 0)
return
(
char
*)p;
}
return
(0);
}
|