getcwd(3C) getcwd(3C)
NAME
getcwd - Pfadnamen des aktuellen Dateiverzeichnisses abfragen
SYNTAX
#include <unistd.h>
char *getcwd(char *buf, int size);
BESCHREIBUNG
getcwd() gibt einen Zeiger auf den Pfadnamen des aktuellen Dateiver-
zeichnisses zurück. Der Wert von size muß wenigstens um eins größer
als die Länge des zurückzugebenden Pfadnamens sein.
Wenn buf nicht NULL ist, wird der Pfadname in dem Speicherplatz, auf
den buf zeigt, gespeichert.
Wenn buf ein Nullzeiger ist, erhält getcwd() durch Aufruf von
malloc(3C) size Bytes Speicherplatz. In diesem Fall kann der von
getcwd() zurückgegebene Zeiger als Argument in einem nachfolgenden
Aufruf von free() verwendet werden.
getcwd() ist erfolglos, wenn eine oder mehrere der folgenden Bedingun-
gen erfüllt sind:
EACCES Ein übergeordnetes Verzeichnis kann nicht gelesen werden, um
seinen Namen zu erhalten.
EINVAL size ist gleich 0.
ERANGE size ist kleiner als 0 oder größer als 0 und kleiner als die
Länge des Pfadnamens plus 1.
BEISPIELE
Es folgt ein Programm, das das aktuelle Dateiverzeichnis ausgibt:
#include <unistd.h>
#include <stdio.h>
main()
{
char *cwd;
if ((cwd = getcwd(NULL, 64)) == NULL)
{
perror("pwd");
exit(2);
}
(void)printf("%s\n", cwd);
return(0);
}
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
getcwd(3C) getcwd(3C)
ERGEBNIS
Es wird NULL zurückgegeben und errno gesetzt, wenn size nicht groß
genug ist oder wenn ein Fehler in einer unten liegenden Funktion auf-
tritt.
SIEHE AUCH
malloc(3C).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98