index(3) — LIBRARY FUNCTIONS
NAME
index, rindex − string operations
SYNOPSIS
/usr/ucb/cc [ flag. . . ] file . . .
#include <strings.h>
char ∗index(s, c)
char ∗s, c;
char ∗rindex(s, c)
char ∗s, c;
DESCRIPTION
These functions operate on NULL-terminated strings. They do not check for overflow of any receiving string.
index and rindex returns a pointer to the first (last) occurrence of character c in string s, or a NULL pointer if c does not occur in the string. The NULL character terminating a string is considered to be part of the string.
SEE ALSO
bstring(3), string(3C), malloc(3C).
NOTES
For user convenience, these functions are declared in the optional <strings.h> header file which is located in /usr/ucbinclude.
You can not use a NULL pointer to indicate a NULL string. A NULL pointer is an error and results in an abort of the program. If you wish to indicate a NULL string, you must have a pointer that points to an explicit NULL string. On some implementations of the C language on some machines, a NULL pointer, if dereferenced, would yield a NULL string; this highly non-portable trick was used in some programs. Programmers using a NULL pointer to represent an empty string should be aware of this portability issue; even on machines where dereferencing a NULL pointer does not cause an abort of the program, it does not necessarily yield a NULL string.
Character movement is performed differently in different implementations. Thus overlapping moves may yield surprises.
— BSD Compatibility Package