Provided by:
manpages-de-dev_0.5-2ubuntu1_all 
BEZEICHNUNG
getcwd, get_current_dir_name, getwd - Gib das aktuelle Verzeichnis
zurück
SYNOPSIS
#include <unistd.h>
char *getcwd(char *buf, size_t size);
char *get_current_dir_name(void);
char *getwd(char *buf);
BESCHREIBUNG
Die Funktion getcwd() kopiert den absoluten Pfadnamen des aktuellen
Arbeitsverzeichnisses in das Array, auf das buf zeigt und das size
Bytes lang ist.
Wenn der aktuelle absolute Pfadname einen Puffer erfordern würde, der
größer als size Bytes ist, wird NULL zurückgegeben und errno auf ERANGE
gesetzt. Eine Anwendung sollte dieses abfangen und den Aufruf mit
einem größeren Puffer wiederholen.
Als eine Erweiterung des POSIX.1 Standards alloziiert getcwd() den
Puffer dynamisch durch Verwendung von malloc(3), wenn buf beim Aufruf
NULL ist. In diesem Fall hat der alloziierte Puffer die Länge size, es
sei denn size ist kleiner als null, wenn buf so groß wie nötig
alloziiert wird. Es ist möglich (und, in der Tat ratsam), den so
erhaltenen Puffer mit free(3) wieder freizugeben, wenn er nicht mehr
benötigt wird.
Die Funktion get_current_dir_name, die nur einen Prototypen hat, wenn
__USE_GNU definiert ist, alloziiert mit malloc(3) ein Array, das
ausreichend groß für den aktuellen Verzeichnisnamen ist. Wenn die
Umgebungsvariable PWD gesetzt ist und ihr Wert korrekt ist, wird dieser
zurückgegeben.
Die Funktion getwd, die nur einen Prototypen hat, wenn __USE_BSD
definiert ist, wird keinen Puffer alloziieren. Das Argument buf sollte
ein Zeiger auf ein Array sein, das zumindest PATH_MAX Bytes groß ist.
getwd gibt nur die ersten PATH_MAX Zeichen des aktuellen Pfadnamens
zurück.
RÜCKGABEWERT
NULL wenn ein Fehler aufgetreten ist (zum Beispiel, wenn das aktuelle
Verzeichnis nicht lesbar ist), wobei errno entsprechend gesetzt wird,
und buf bei Erfolg.
KONFORM ZU
POSIX.1
SIEHE AUCH
chdir(2), free(3), malloc(3).