dirname(3G)
dirname - report the parent directory name of a file pathname
As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.
NAME dirname - report the parent directory name of a file pathname 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 filesystem pathname, 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 pathname after the next to last element, so the content of path must be disposable. Trailing ``/'' characters 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 pathname. dirname (path) is the directory where basename (path) is found. EXAMPLES A simple filename and the strings ``.'' and ``..'' all have ``.'' as their return value. Input string Output pointer _____________________________ /usr/lib /usr /usr/ / usr . / / . . .. . The following code reads a pathname, 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); SEE ALSO basename(1), chdir(2), basename(3G)