DIRNAME(3) Library Functions Manual DIRNAME(3)
NAME
dirnamereport the parent directory name of a file pathname
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <libgen.h>
char *
dirname(char *path);
DESCRIPTION
The dirname() function takes a pointer to a character string that contains a pathname, path, and returns a pointer to a string that is a pathname of the parent directory of path. Trailing ‘/' characters in path are not counted as part of the path.
 
If path does not contain a ‘/', then dirname() returns a pointer to the string “.”.
 
If path is a null pointer or points to an empty string, dirname() returns a pointer to the string “.”.
RETURN VALUES
The dirname() function returns a pointer to a string that is the parent directory of path.
SEE ALSO
STANDARDS
X/Open Portability Guide Issue 4.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 dirname() function returns a pointer to static storage that may be overwritten by subsequent calls to dirname(). This is not strictly a bug; it is explicitly allowed by IEEE Std 1003.1-2001 (“POSIX.1”).