Updated: 2025/Nov/16
Please read Privacy Policy. It's for your privacy.
BASENAME(3) Library Functions Manual BASENAME(3)
NAME
basename - return the last component of a pathname
LIBRARY
Standard C Library (libc, -lc)
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 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").
NetBSD 11.99 May 10, 2008 NetBSD 11.99