DIRNAME(3G-SVR4) RISC/os Reference Manual DIRNAME(3G-SVR4)
NAME
dirname - report the parent directory name of a file path
name
SYNOPSIS
cc [flag ...] file ... -lgen [library ...]
#include <libgen.h>
char *dirname (char *path);
DESCRIPTION
Given a pointer to a null-terminated character string that
contains a file system path name, dirname returns a pointer
to a static constant string that is the parent directory of
that file. In doing this, it sometimes places a null byte
in the path name after the next to last element, so the con-
tent of path must be disposable. Trailing slashes (/) in
the path are not counted as part of the path.
If path or *path is zero, a pointer to a static constant
``.'' is returned.
dirname and basename together yield a complete path name.
dirname (path) is the directory where basename (path) is
found.
EXAMPLES
A simple file name and the strings ``.'' and ``..'' all have
``.'' as their return value.
Input_string___Output_pointer
/usr/lib /usr
/usr/ /
usr .
/ /
. .
.. .
The following code reads a path name, changes directory to
the appropriate directory [see chdir(2)], and opens the
file.
char path[100], *pathcopy;
int fd;
gets (path);
pathcopy = strdup (path);
chdir (dirname (pathcopy) );
fd = open (basename (path), O_RDONLY);
Printed 11/19/92 Page 1
DIRNAME(3G-SVR4) RISC/os Reference Manual DIRNAME(3G-SVR4)
SEE ALSO
chdir(2), basename(3G).
basename(1) in the User's Reference Manual.
Page 2 Printed 11/19/92