"Fossies" - the Fresh Open Source Software archive 
#include <unistd.h> char *getcwd(char *puffer, size_t groesse); char *getwd(char *puffer); char *get_current_dir_name(void);
Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
get_current_dir_name():
getwd():
_BSD_SOURCE ||
(_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
!(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
Die Funktion getcwd() kopiert den absoluten Pfadnamen des aktuellen Arbeitsverzeichnisses in das Feld, auf das puffer zeigt und das groesse Byte lang ist.
Falls die Länge des absoluten Pfadnamens des Arbeitsverzeichnisses, einschließlich abschließender Null groesse Byte überschreitet, wird NULL zurückgegeben und errno auf ERANGE gesetzt. Eine Anwendung sollte prüfen, ob dieser Fehler auftrat und falls nötig einen größeren Puffer reservieren.
Als eine Erweiterung des POSIX.1-Standards reserviert getcwd() von Linux (libc4, libc5, glibc) den Puffer dynamisch durch Verwendung von malloc(3), wenn puffer NULL ist. In diesem Fall hat der reservierte Puffer die Länge groesse, sofern groesse nicht Null ist, wenn die für puffer nötige Größereserviert ist. Der Aufrufende sollte den zurückgegebenen Puffer mit free(3) freigeben.
get_current_dir_name() wird mit malloc(3) ein Feld reservieren, das groß genug ist, um den absoluten Pfadnamen des aktuellen Arbeitsverzeichnisses aufzunehmen. Wenn die Umgebungsvariable PWD gesetzt ist und ihr Wert stimmt, dann wird dieser Wert zurückgegeben. Der Aufrufende sollte den zurückgegebenen Puffer mit free(3) freigeben.
getwd() reserviert keinen Speicher mit malloc(3). Das Argument puffer sollte ein Zeiger auf ein Feld mit einer Mindestlänge von PATH_MAX Byte sein. Falls die Länge des absoluten Pfadnamens des aktuellen Arbeitsverzeichnisses einschließlich des abschließenden Null-Bytes PATH_MAX Byte überschreitet, wird NULL zurückgegeben und errno auf ENAMETOOLONG gesetzt. (Beachten Sie, dass PATH_MAX auf einigen Systemen zur Kompilierzeit möglicherweise keine Konstante ist; außerdem hängt ihr Wert vom Dateisystem ab – siehe pathconf(3).) Aus Gründen der Portierbarkeit und Sicherheit ist die Benutzung von getwd() missbilligt.
Bei einem Fehlschlag geben diese Funktionen Null zurück und errno wird so gesetzt, dass es den Fehler anzeigt. Der Inhalt des Feldes, auf den puffer zeigt, ist bei einem Fehler nicht definiert.
getwd() ist in POSIX.1-2001 vorhanden, aber als VERALTET markiert. POSIX.1-2008 entfernt die Spezifikation von getwd(). Benutzen Sie stattdessen getcwd(). POSIX.1-2001 definiert keine Fehler für getwd().
get_current_dir_name() ist eine GNU-Erweiterung.
Diese Funktionen werden oft benutzt, um den Ort des aktuellen Arbeitsverzeichnisses zum Zweck der späteren Rückkehr zu speichern. Das aktuelle Verzeichnis ».« zu öffnen und fchdir(2) zur Rückkehr aufzurufen ist normalerweise schneller und eine zuverlässigere Alternative, wenn ausreichend viele Dateideskriptoren zur Verfügung stehen, besonders auf anderen Plattformen als Linux.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.