Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
#include <unistd.h>char *getcwd(char *buf, size_t size); char *get_current_working_dir_name(void); char *getwd(char *buf);
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.
1. Januar 1997 | GETCWD (3) | GNU |
Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.
“ | The last good thing written in C was Franz Schubert's Symphony #9. | ” |
— Erwin Dietrich |