Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dirname(3G) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

basename(1)

chdir(2)

basename(3G)

dirname(3G)                                                     dirname(3G)

NAME
     dirname - Name des übergeordneten Dateiverzeichnisses ausgeben

SYNTAX
     cc [option ...] datei ... -lgen [bibliothek ...]

     #include <libgen.h>

     char *dirname(char *Pfad);

BESCHREIBUNG
     Wenn dirname() ein Zeiger auf eine mit einem Nullzeichen abgeschlos-
     sene Zeichenkette übergeben wird, die einen Pfadnamen des Dateisystems
     enthält, gibt dirname() einen Zeiger auf eine static-Zeichenkette
     zurück, die das übergeordnete Verzeichnis dieser Datei bezeichnet.
     Manchmal fügt dirname() ein Null-Byte vor das letzte Element ein,
     daher muß der Inhalt von Pfad verfügbar sein. Abschließende /-Zeichen
     in dem Pfad werden nicht als Teil des Pfads gewertet.

     Wenn Pfad oder *Pfad null ist, wird ein Zeiger auf eine static-
     Konstante "." zurückgegeben.

     dirname() und basename() liefern zusammen einen vollständigen Pfadna-
     men. dirname(Pfad) ist das Verzeichnis, in dem basename(Pfad) gefunden
     wird.

BEISPIELE
     Ein einfacher Dateiname und die Zeichenketten "." und ".." haben alle
     "." als Rückgabewert.

     Eingabe-String   Rückgabewert
     _____________________________
     "/usr/lib"       "/usr"
     "/usr/"          "/"
     "usr/"           "."
     "/"              "/"
     "."              "."
     ".."             "."

     Der folgende Programmtext bewirkt, daß ein Pfadname gelesen, in das
     entsprechende Verzeichnis gewechselt [siehe chdir(2)] und die Datei
     geöffnet wird.

     char path[MAXPATHLEN], *pathcopy;
     int fd;
     fgets(path, MAXPATHLEN, stdin);
     pathcopy = strdup(path);
     chdir(dirname(pathcopy));
     fd = open(basename(path), ORDONLY);

SIEHE AUCH
     basename(1), chdir(2), basename(3G).



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

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