Amiga Unix — 68040 · 68060

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.