Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       getcwd, getwd, get_current_dir_name - das aktuelle Verzeichnis abfragen

ÜBERSICHT

       #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():
              _GNU_SOURCE

       getwd():
           Seit Glibc 2.12:
               _BSD_SOURCE ||
                   (_XOPEN_SOURCE >= 500 ||
                       _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
                   !(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
           Vor Glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

BESCHREIBUNG

       Diese  Funktionen  geben  eine Zeichenkette mit abschließender Null zurück, die einen absoluten Pfadnamen
       enthält, der dem aktuellen Arbeitsverzeichnis des aufrufenden Prozesses entspricht. Der Pfadname wird als
       das Funktionsergebnis und, falls vorhanden, über das Argument puffer zurückgegeben.

       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()  does not malloc(3)  any memory. The buf argument should be  a  pointer  to  an  array  at  least
       PATH_MAX  bytes  long. If the length of the absolute pathname of the current working directory, including
       the terminating null byte, exceeds PATH_MAX bytes, NULL is returned, and errno is  set  to  ENAMETOOLONG.
       (Note  that  on  some  systems,  PATH_MAX  may not be a compile-time constant; furthermore, its value may
       depend on the filesystem, see pathconf(3).) For portability and security  reasons,  use  of  getwd()   is
       deprecated.

RÜCKGABEWERT

       Bei  Erfolg  geben  diese  Funktionen  einen  Zeiger  auf eine Zeichenkette zurück, die den Pfadnamen des
       aktuellen Arbeitsverzeichnisses enthält. Im Fall von getcwd() und getwd() ist dies der gleiche  Wert  wie
       puffer.

       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.

FEHLER

       EACCES Lese- oder Suchberechtigung für einen Bestandteil des Dateinamens wurde verweigert.

       EFAULT puffer zeigt auf eine falsche Adresse.

       EINVAL Das Argument groesse ist Null und puffer ist kein Null-Zeiger.

       EINVAL getwd(): puffer ist NULL.

       ENAMETOOLONG
              getwd(): Die Größe der absoluten Pfadnamens mit abschließender Null überschreitet PATH_MAX Byte.

       ENOENT Der Link auf das aktuelle Arbeitsverzeichnis wurde gelöst.

       ERANGE Das  Argument  groesse  ist  kleiner  als  die  Länge  des  absoluten  Pfadnamens  des   aktuellen
              Arbeitsverzeichnisses  einschließlich  abschließendem  Null-Byte.  Sie  müssen  ein  größeres Feld
              reservieren und es erneut versuchen.

KONFORM ZU

       getcwd() ist konform zu POSIX.1-2001.  Beachten  Sie  jedoch,  dass  das  Verhalten  von  getcwd()  unter
       POSIX.1-2001 nicht spezifiziert ist, wenn puffer NULL ist.

       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.

ANMERKUNGEN

       Under  Linux,  the  function  getcwd()   is a system call (since 2.1.92). On older systems it would query
       /proc/self/cwd. If both system call and proc filesystem are missing, a generic implementation is  called.
       Only in that case can these calls fail under Linux with EACCES.

       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.

SIEHE AUCH

       chdir(2), fchdir(2), open(2), unlink(2), free(3), malloc(3)

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the  project,  and
       information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde von Martin Schulze <joey@infodrom.org> und Chris
       Leick <c.leick@vollbio.de> erstellt.

       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>.

GNU                                            20. September 2010                                      GETCWD(3)