_getdcwd, _wgetdcwd
Ruft den vollständigen Pfad des aktuellen Arbeitsverzeichnis auf dem angegebenen Laufwerk ab.
Wichtig |
---|
Diese API kann nicht in den Anwendungen verwendet werden, die in der Windows Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW. |
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 Antriebsart (beispielsweise, Wechsel, fest, CD-ROM, RAM-Datenträger oder Netzlaufwerk) nicht bestimmt werden kann, wird der UngültigParameterhandler, der in Parametervalidierung beschrieben wird, aufgerufen.
buffer
Speicherort für den Pfad oder NULL.Wenn NULL angegeben wird, ordnet diese Funktion ein Puffer von mindestens maxlen Größe zu, indem sie malloc verwendet, und der Rückgabewert von _getdcwd ist ein Zeiger auf den zugeordneten Puffer.Der Puffer können freigegeben werden, indem free aufruft und es der Zeiger übergibt.
maxlen
Eine positive ganze Zahl ungleich 0 (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 ist, wird der UngültigParameterhandler, der in Parametervalidierung beschrieben wird, aufgerufen.
Rückgabewert
Zeiger auf eine Zeichenfolge, die den vollständigen Pfad des aktuellen Arbeitsverzeichnis auf dem angegebenen Laufwerk darstellt oder NULL, das einen Fehler angibt.
Wenn buffer angegeben wird, da NULL und der nicht genügend Arbeitsspeicher vorhanden ist, mit der maxlen Zeichen zu, tritt ein Fehler auf und errno wird zu ENOMEM festgelegt.Wenn die Länge des Pfades, der das NULL enthält, maxlen überschreitet, tritt ein Fehler auf und errno wird zu 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 Arbeitsverzeichnis auf dem angegebenen Laufwerk ab und speichert ihn bei buffer.Wenn das aktuelle Arbeitsverzeichnis zum Stamm festgelegt ist, beendet die Zeichenfolge mit einem umgekehrten Schrägstrich (\).Wenn das aktuelle Arbeitsverzeichnis zu einem Verzeichnis als dem Stamm festgelegt ist, beendet die Zeichenfolge mit dem Namen des Verzeichnisses und nicht mit einem umgekehrten Schrägstrich.
_wgetdcwd ist eine Breitzeichen-Version von _getdcwd, und sein buffer-Parameter und -Rückgabewert sind Breitzeichen-Zeichenfolgen.Andernfalls verhalten sich _wgetdcwd und _getdcwd identisch.
Diese Funktion ist threadsicher, obwohl sie von GetFullPathName abhängt, die nicht threadsicher ist.Sie können jedoch Threadsicherheit verstoßen, wenn Multithreadanwendung diese Funktion und GetFullPathName aufruft.Weitere Informationen finden Sie auf der und MSDN Library suchen Sie dann für GetFullPathName.
Die Version dieser Funktion, die das _nolock Suffix verhält identisch mit dieser Funktion verfügen, allerdings ist nicht threadsicher und wird nicht aus der Fehler durch andere Threads geschützt.Weitere Informationen finden Sie unter _getdcwd_nolock, _wgetdcwd_nolock.
Wenn _DEBUG und _CRTDBG_MAP_ALLOC definiert sind, werden Aufrufe _getdcwd und _wgetdcwd durch Aufrufe _getdcwd_dbg und zu _wgetdcwd_dbg ersetzt, damit Sie Speicherbelegungen debuggen können.Weitere Informationen finden Sie unter _getdcwd_dbg, _wgetdcwd_dbg .
Zuordnung generische 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 Kompatibilitätsinformation finden Sie unter Kompatibilität.
Beispiel
Siehe das Beispiel in _getdrive.
.NET Framework-Entsprechung
System::Environment::CurrentDirectory