May 10, 2008 BASENAME 3

### NAME

basename - return the last component of a pathname

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```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 path consists entirely of `/' characters, 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.

### SEE ALSO

basename(1), dirname(3)

### STANDARDS

- X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'')
- IEEE Std 1003.1-2001 (``POSIX.1'')

### BUGS

If the length of the result is longer than ```PATH_MAX` bytes (including the terminating nul), the result will be truncated.

The basename(``) function returns a pointer to static storage that may be overwritten by subsequent calls to basename(``). This is not strictly a bug; it is explicitly allowed by IEEE Std 1003.1-2001 (``POSIX.1'') .