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