Manual pages › BSD C library (3B)
index(3B)
string operations
From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.
NAME
index, rindex - string operations
SYNOPSIS
#include <string.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), strings(3) malloc(3C) in the Programmer's Refer- ence Manual.
NOTES
For user convenience, these functions are declared in the optional <strings.h> header file. On the Sun processor, as well as on many other machines, 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.