Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bstring(3B)

malloc(3C)

index(3B)

NAME

index, rindex − string operations

SYNOPSIS

/usr/ucb/cc [ flag ... ] file ...

#include <string.h>

char ∗index(char ∗s, char c);

char ∗rindex(char ∗s, char c);

DESCRIPTION

These functions operate on NULL-terminated strings. 

index() returns a pointer to the first occurrence of character c in string s, and rindex() returns a pointer to the last occurrence of character c in string s. Both index() and rindex() return 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(3B), malloc(3C)

NOTES

For user convenience, these functions are also declared in the optional <strings.h> header. 

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. 

SunOS 5.1/SPARC  —  Last change: 5 Jul 1990

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026