2000-02-18 03:39:52 +08:00
|
|
|
/*
|
|
|
|
FUNCTION
|
|
|
|
<<strrchr>>---reverse search for character in string
|
|
|
|
|
|
|
|
INDEX
|
|
|
|
strrchr
|
|
|
|
|
|
|
|
ANSI_SYNOPSIS
|
|
|
|
#include <string.h>
|
|
|
|
char * strrchr(const char *<[string]>, int <[c]>);
|
|
|
|
|
|
|
|
TRAD_SYNOPSIS
|
|
|
|
#include <string.h>
|
|
|
|
char * strrchr(<[string]>, <[c]>);
|
|
|
|
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),
|
|
|
|
_CONST char *s _AND
|
|
|
|
int i)
|
|
|
|
{
|
|
|
|
_CONST char *last = NULL;
|
|
|
|
|
2001-05-05 01:23:18 +08:00
|
|
|
if (i)
|
2000-02-18 03:39:52 +08:00
|
|
|
{
|
2001-05-05 01:23:18 +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;
|
|
|
|
}
|