BASENAME(3C) Standard C Library Functions BASENAME(3C)

basename - return the last element of a path name

#include <libgen.h>
char *basename(char *path);

The basename() function takes the pathname pointed to by path and returns a pointer to the final component of the pathname, deleting any trailing '/' characters.

If the string consists entirely of the '/' character, basename() returns a pointer to the string "/" .

If path is a null pointer or points to an empty string, basename() returns a pointer to the string "." .

The basename() function returns a pointer to the final component of path.

The basename() function may modify the string pointed to by path, and may return a pointer to static storage that may then be overwritten by a subsequent call to basename().

When compiling multithreaded applications, the _REENTRANT flag must be defined on the compile line. This flag should only be used in multithreaded applications.

Example 1 Examples for Input String and Output String

Input String Output String
"/usr/lib" "lib"
"/usr/" "usr"
"/" "/"

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard
MT-Level MT-Safe

basename(1), dirname(3C), attributes(7), standards(7)

July 24, 2002 OmniOS