2000-02-18 03:39:52 +08:00
|
|
|
/*
|
|
|
|
FUNCTION
|
|
|
|
<<strrchr>>---reverse search for character in string
|
|
|
|
|
|
|
|
INDEX
|
|
|
|
strrchr
|
|
|
|
|
2017-11-30 16:20:06 +08:00
|
|
|
SYNOPSIS
|
2000-02-18 03:39:52 +08:00
|
|
|
#include <string.h>
|
|
|
|
char * strrchr(const char *<[string]>, int <[c]>);
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
This function finds the last occurence of <[c]> (converted to
|
|
|
|
a char) in the string pointed to by <[string]> (including the
|
|
|
|
terminating null character).
|
|
|
|
|
|
|
|
RETURNS
|
|
|
|
Returns a pointer to the located character, or a null pointer
|
|
|
|
if <[c]> does not occur in <[string]>.
|
|
|
|
|
|
|
|
PORTABILITY
|
|
|
|
<<strrchr>> is ANSI C.
|
|
|
|
|
|
|
|
<<strrchr>> requires no supporting OS subroutines.
|
|
|
|
|
|
|
|
QUICKREF
|
|
|
|
strrchr ansi pure
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
char *
|
|
|
|
_DEFUN (strrchr, (s, i),
|
2017-12-04 10:25:16 +08:00
|
|
|
const char *s,
|
2000-02-18 03:39:52 +08:00
|
|
|
int i)
|
|
|
|
{
|
2017-12-04 10:25:16 +08:00
|
|
|
const char *last = NULL;
|
2000-02-18 03:39:52 +08:00
|
|
|
|
2001-05-05 01:23:18 +08:00
|
|
|
if (i)
|
2000-02-18 03:39:52 +08:00
|
|
|
{
|
2007-05-30 05:26:59 +08:00
|
|
|
while ((s=strchr(s, i)))
|
2000-02-18 03:39:52 +08:00
|
|
|
{
|
|
|
|
last = s;
|
2001-05-05 01:23:18 +08:00
|
|
|
s++;
|
2000-02-18 03:39:52 +08:00
|
|
|
}
|
|
|
|
}
|
2001-05-05 01:23:18 +08:00
|
|
|
else
|
2000-02-18 03:39:52 +08:00
|
|
|
{
|
2001-05-05 01:23:18 +08:00
|
|
|
last = strchr(s, i);
|
2000-02-18 03:39:52 +08:00
|
|
|
}
|
2001-05-05 01:23:18 +08:00
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
return (char *) last;
|
|
|
|
}
|