Share via


_getdcwd, _wgetdcwd

Ruft den vollständigen Pfad des aktuellen Arbeitsverzeichnisses auf dem angegebenen Laufwerk ab.

Wichtig

Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.

char *_getdcwd( 
   int drive,
   char *buffer,
   int maxlen 
);
wchar_t *_wgetdcwd( 
   int drive,
   wchar_t *buffer,
   int maxlen 
);

Parameter

  • drive
    Eine nicht negative ganze Zahl, die das Laufwerk angibt (0 = Standardlaufwerk, 1 = A, 2 = B usw.).

    Wenn das angegebene Laufwerk nicht verfügbar ist oder die Art des Laufwerks (z. B. Wechseldatenträger, festes Laufwerk, CD-ROM-Laufwerk, RAM-Datenträger oder Netzlaufwerk) nicht bestimmt werden kann, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung beschrieben.

  • buffer
    Speicherort für den Pfad, oder NULL.

    Bei Angabe von NULL weist diese Funktion einen Puffer mit mindestens maxlen-Größe zu, indem malloc verwendet wird, und der Rückgabewert von _getdcwd ist ein Zeiger auf den zugeordneten Puffer. Der Puffer kann freigegeben werden, indem free aufgerufen und der Zeiger übergeben wird.

  • maxlen
    Eine positive ganze Zahl ungleich Null, die die maximale Länge des Pfads angibt, in Zeichen: char für _getdcwd und wchar_t für _wgetdcwd.

    Wenn maxlen nicht größer als Null ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung beschrieben.

Rückgabewert

Zeiger auf eine Zeichenfolge, die den vollständigen Pfad des aktuellen Arbeitsverzeichnisses auf dem angegebenen Laufwerk darstellt, oder NULL, wodurch ein Fehler angegeben wird.

Wenn buffer als NULL angegeben ist und nicht genügend Arbeitsspeicher zum Zuweisen von maxlen-Zeichen vorhanden ist, tritt ein Fehler auf und errno wird auf ENOMEM festgelegt. Wenn die Länge des Pfads, der das abschließende Nullzeichen enthält, maxlen überschreitet, tritt ein Fehler auf und errno wird auf ERANGE festgelegt. Weitere Informationen zu diesen Fehlercodes finden Sie unter errno, _doserrno, _sys_errlist und _sys_nerr.

Hinweise

Die _getdcwd-Funktion ruft den vollständigen Pfad des aktuellen Arbeitsverzeichnisses auf dem angegebenen Laufwerk ab und speichert ihn unter buffer. Wenn das aktuelle Arbeitsverzeichnis auf das Stammverzeichnis festgelegt ist, endet die Zeichenfolge mit einem umgekehrten Schrägstrich (\). Wenn das aktuelle Arbeitsverzeichnis nicht auf das Stammverzeichnis festgelegt ist, endet die Zeichenfolge mit dem Namen des Verzeichnisses und nicht mit einem umgekehrten Schrägstrich.

_wgetdcwd ist eine Breitzeichenversion von _getdcwd, und der buffer-Parameter und der Rückgabewert sind Zeichenfolgen mit Breitzeichen. Andernfalls verhalten sich _wgetdcwd und _getdcwd identisch.

Diese Funktion ist threadsicher, obwohl sie von der Funktion GetFullPathName abhängig ist, die selbst nicht threadsicher ist. Es kann jedoch zu einer Verletzung der Threadsicherheit kommen, wenn die Multithreadanwendung sowohl diese Funktion als auch GetFullPathName aufruft. Weitere Informationen finden Sie in der MSDN Library. Suchen Sie dort nach GetFullPathName.

Die Version dieser Funktion, die über das _nolock-Suffix verfügt, ist mit dieser Funktion identisch, allerdings ist sie nicht threadsicher und nicht vor Störungen durch andere Threads geschützt. Weitere Informationen finden Sie unter _getdcwd_nolock, _wgetdcwd_nolock.

Wenn _DEBUG und _CRTDBG_MAP_ALLOC definiert werden, werden Aufrufe von _getdcwd und _wgetdcwd durch Aufrufe von _getdcwd_dbg und _wgetdcwd_dbg ersetzt, sodass Sie Speicherbelegungen debuggen können. Weitere Informationen finden Sie unter _getdcwd_dbg, _wgetdcwd_dbg .

Zuordnung generischer Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Anforderungen

Routine

Erforderlicher Header

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

Siehe das Beispiel in _getdrive.

.NET Framework-Entsprechung

System::Environment::CurrentDirectory

Siehe auch

Referenz

Verzeichnissteuerung

_chdir, _wchdir

_getcwd, _wgetcwd

_getdrive

_mkdir, _wmkdir

_rmdir, _wrmdir