Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dirname(3G) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chdir(2)

basename(3G)

basename(1)



dirname(3G)                      UNIX System V                      dirname(3G)


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 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 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), ORDONLY);

SEE ALSO
      chdir(2), basename(3G).
      basename(1) in the User's Reference Manual.





10/89                                                                    Page 1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026