2000-02-18 03:39:52 +08:00
|
|
|
/*
|
|
|
|
FUNCTION
|
2005-10-29 05:21:08 +08:00
|
|
|
<<strpbrk>>---find characters in string
|
2000-02-18 03:39:52 +08:00
|
|
|
|
|
|
|
INDEX
|
|
|
|
strpbrk
|
|
|
|
|
2017-11-30 16:20:06 +08:00
|
|
|
SYNOPSIS
|
2000-02-18 03:39:52 +08:00
|
|
|
#include <string.h>
|
|
|
|
char *strpbrk(const char *<[s1]>, const char *<[s2]>);
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
This function locates the first occurence in the string
|
|
|
|
pointed to by <[s1]> of any character in string pointed to by
|
|
|
|
<[s2]> (excluding the terminating null character).
|
|
|
|
|
|
|
|
RETURNS
|
|
|
|
<<strpbrk>> returns a pointer to the character found in <[s1]>, or a
|
|
|
|
null pointer if no character from <[s2]> occurs in <[s1]>.
|
|
|
|
|
|
|
|
PORTABILITY
|
|
|
|
<<strpbrk>> requires no supporting OS subroutines.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
char *
|
2017-12-04 11:43:30 +08:00
|
|
|
strpbrk (const char *s1,
|
2017-12-04 10:25:16 +08:00
|
|
|
const char *s2)
|
2000-02-18 03:39:52 +08:00
|
|
|
{
|
2017-12-04 10:25:16 +08:00
|
|
|
const char *c = s2;
|
2000-02-18 03:39:52 +08:00
|
|
|
if (!*s1)
|
|
|
|
return (char *) NULL;
|
|
|
|
|
|
|
|
while (*s1)
|
|
|
|
{
|
|
|
|
for (c = s2; *c; c++)
|
|
|
|
{
|
|
|
|
if (*s1 == *c)
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (*c)
|
|
|
|
break;
|
|
|
|
s1++;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (*c == '\0')
|
|
|
|
s1 = NULL;
|
|
|
|
|
|
|
|
return (char *) s1;
|
|
|
|
}
|