getcwd, _wgetcwd

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu dir.h - Index


Header-Datei

dir.h

Kategorie

Verzeichnisbearbeitungsroutinen

Prototyp

char *getcwd(char *buf, int buflen);

wchar_t *_wgetcwd(wchar_t *buf, int buflen);

Beschreibung

Ermittelt das aktuelle Arbeitsverzeichnis.

getcwd ermittelt den vollständigen Pfadnamen (einschließlich Laufwerk) des aktuellen Arbeitsverzeichnisses bis zu einer Länge von buflen Bytes und speichert ihn in buf. Wenn der vollständige Pfadname (einschließlich Nullterminator) länger als buflen ist, tritt ein Fehler auf.

Ist buf gleich NULL, wird mit malloc automatisch ein Puffer der Länge buflen Bytes reserviert. Sie können den reservierten Puffer später freigeben, indem Sie den Rückgabewert von getcwd der Funktion free übergeben.

Rückgabewert

  • getcwd gibt die folgenden Werte zurück:
  • Wenn buf zu Beginn der Eingabe nicht NULL ist, gibt getcwd bei erfolgreicher Ausführung buf zurück und im Fehlerfall NULL.
  • Ist buf zu Beginn der Eingabe NULL, gibt getcwd einen Zeiger auf den zugewiesenen Puffer zurück.

Bei einem Fehler wird die globale Variable errno auf einen der folgenden Werte gesetzt:

ENODEV

No such device (Gerät existiert nicht)

ENOMEM

Not enough memory to allocate a buffer (buf is NULL) (Nicht genügend Speicher zur Zuweisung eines Puffers vorhanden [buf ist NULL])

ERANGE

Directory name longer than buflen (buf is not NULL) (Der Verzeichnisname ist länger als buflen [buf ist nicht NULL])



Beispiel



 #include <stdio.h>
 #include <dir.h>
 int main(void)
 {
    char buffer[MAXPATH];
    getcwd(buffer, MAXPATH);
    printf("The current directory is: %s\n", buffer);
    return  0;
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

getcwd

+

+

_wgetcwd

Nur NT