dirname(3C)
NAME
dirname - report the parent directory name of a file path
name
SYNOPSIS
#include <libgen.h>
char *dirname(char *path);
DESCRIPTION
The dirname() function takes a pointer to a character string
that contains a pathname, and returns a pointer to a string
that is a pathname of the parent directory of that file.
Trailing '/' characters in the 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. If path is a null pointer or
points to an empty string, a pointer to a string "." is
returned.
ERRORS
No errors are defined.
EXAMPLES
Example 1: A sample code using the dirname() function.
____________________________________________________________
| Input String | Output String |
|_____________________________|_____________________________|
| "/usr/lib"" | "/usr" |
|_____________________________|_____________________________|
| "/usr/" | "/" |
|_____________________________|_____________________________|
| "usr" | "/" |
|_____________________________|_____________________________|
| "/" | "/" |
|_____________________________|_____________________________|
| "." | "." |
|_____________________________|_____________________________|
| ".." | "." |
|_____________________________|_____________________________|
The following code fragment reads a path name, changes
directory to the parent directory of the named file (see
chdir(2)), and opens the file.
char path[100], *pathcopy;
int fd;
gets (path);
pathcopy = strdup (path);
chdir (dirname (pathcopy) );
free (pathcopy);
fd = open (basename (path), O_RDONLY);
USAGE
The dirname() function may modify the string pointed to by
path, and may return a pointer to static storage that may
then be overwritten by subsequent calls to dirname().
The dirname() and basename(3C) functions together yield a
complete pathname. The expression dirname(path) obtains the
pathname of the directory where basename(path) is found.
When compiling multithreaded applications, the _REENTRANT
flag must be defined on the compile line. This flag should
only be used in multithreaded applications.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
basename(1), chdir(2), basename(3C), attributes(5)
Man(1) output converted with
man2html