Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2017
 
 

basename(3C)

Name

basename - return the last element of a path name

Synopsis

#include <libgen.h>

char *basename(char *path);

Description

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 "." .

Return Values

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

Usage

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.

Examples

Example 1 Examples for Input String and Output String
Input String
Output String
"/usr/lib"
"lib"
"/usr/"
"usr"
"/"
"/"

Attributes

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

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

See Also

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