mkdirp(3G) mkdirp(3G)
NAME
mkdirp, rmdirp - Verzeichnisse in einem Pfad erzeugen/entfernen
SYNTAX
cc [option ...] datei ... -lgen [bibliothek ...]
#include <libgen.h>
int mkdirp(const char *Pfad, modet Modus);
int rmdirp(char *Pfad1, char *Pfad2);
BESCHREIBUNG
mkdirp() erzeugt alle fehlenden Verzeichnisse in dem angegebenen Pfad
mit dem angegebenen Modus (siehe chmod(2) für die Werte von Modus).
rmdirp() entfernt Verzeichnisse im Pfad Pfad1. Dieses Entfernen
beginnt am Ende des Pfads und geht so weit wie möglich zurück bis zur
Wurzel. Wenn ein Fehler auftritt, wird der verbleibende Pfad in Pfad2
gespeichert. rmdirp() gibt nur dann 0 zurück, wenn die Funktion in der
Lage ist, jedes Verzeichnis in dem Pfad zu entfernen.
BEISPIELE
/* Test-Verzeichnisse erzeugen */
if(mkdirp("/tmp/sub1/sub2/sub3", 0755) == -1) {
fprintf(stderr, "kann kein Verzeichnis erzeugen");
exit(1);
}
chdir("/tmp/sub1/sub2/sub3");
...
/* cleanup */
chdir("/tmp");
rmdirp("sub1/sub2/sub3");
ERGEBNIS
Wenn ein benötigtes Verzeichnis nicht erzeugt werden kann, gibt
mkdirp() -1 zurück und setzt errno auf eine der Fehlernummern von
mkdir(). Wenn alle Verzeichnisse erzeugt worden sind, oder schon exi-
stieren, wird null zurückgegeben.
HINWEISE
mkdirp() verwendet malloc(), um der Zeichenkette temporären Speicher-
platz zuzuweisen.
rmdirp() gibt -2 zurück, wenn ein "." oder "." in dem Pfad vorkommt,
und -3, wenn ein Versuch gemacht wird, das aktuelle Verzeichnis zu
entfernen. Wenn ein anderer als einer der beiden obigen Fehler auf-
tritt, wird -1 zurückgegeben.
SIEHE AUCH
mkdir(2), rmdir(2).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98