Sdílet prostřednictvím


_getdcwd _wgetdcwd

Získá aktuální pracovní adresář úplnou cestu k určené jednotce.

Důležitá poznámkaDůležité

Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v systému Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

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

Parametry

  • drive
    Kladné celé číslo, které určuje jednotku (0 = výchozí jednotka, 1 = A, 2 = B a tak dále).

    Pokud zadaná jednotka není k dispozici, nebo druh jednotky (například vyměnitelné, pevná, CD-ROM, paměti RAM disk nebo síťová jednotka) nelze určit, obslužné rutiny neplatný parametr, který je popsán v Ověření parametrů, je vyvolána.

  • buffer
    Umístění úložiště pro cestu, nebo NULL.

    Pokud NULL je určena tato funkce přiděluje vyrovnávací paměti o nejméně maxlen velikost pomocí malloca vrátí hodnotu, která _getdcwd je ukazatel do přidělené vyrovnávací paměti.Vyrovnávací paměti mohou být uvolněna voláním free a předáním ukazatel.

  • maxlen
    Nenulová kladné celé číslo určující maximální délka cesty, znaky: char pro _getdcwd a wchar_t pro _wgetdcwd.

    Pokud maxlen není větší než nula, obslužné rutiny neplatný parametr, který je popsán v Ověření parametrů, je vyvolána.

Vrácená hodnota

Ukazatel na řetězec, který představuje úplnou cestu k aktuálnímu pracovnímu adresáři na zadané jednotce, nebo NULL, který označuje chybu.

Pokud buffer je určena jako NULL a přidělit dostatek paměti maxlen znaky, dojde k chybě a errno je nastavena na ENOMEM.Délka cesty, která zahrnuje ukončující znak null, přesahuje-li maxlen, dojde k chybě a errno je nastavena na ERANGE.Další informace o těchto kódech chyb naleznete v tématu Kód chyby, _doserrno, _sys_errlist a _sys_nerr.

Poznámky

_getdcwd Funkce získá úplnou cestu k aktuálnímu pracovnímu adresáři na zadanou jednotku a uloží jej na buffer.Je-li aktuální pracovní adresář je nastavena na kořenový adresář, končí řetězcem zpětného lomítka (\).Je-li aktuální pracovní adresář je nastavena na adresář, než je kořenový adresář, končí řetězec s názvem adresáře, nikoli s zpětné lomítko ().

_wgetdcwdje verzí širokého znaku _getdcwda jeho buffer parametrů a vrácené hodnoty jsou řetězci širokého znaku.V opačném případě se _wgetdcwd a _getdcwd chovat identicky.

Tato funkce je bezpečným, přestože je závislý na GetFullPathName, která je sama o sobě není bezpečným.Však porušují bezpečnostní vlákno je-li aplikace s více podprocesy volá i tuto funkci a GetFullPathName.Další informace naleznete v tématu Knihovny MSDN a vyhledejte GetFullPathName.

Verze této funkce, která má _nolock se přípona chová stejně tuto funkci s tím rozdílem, že není bezpečným a není chráněn před rušení jiných podprocesů.Další informace naleznete v tématu _getdcwd_nolock _wgetdcwd_nolock.

Při _DEBUG a _CRTDBG_MAP_ALLOC jsou definovány, zavolá na _getdcwd a _wgetdcwd se nahrazují volání _getdcwd_dbg a _wgetdcwd_dbg tak, aby bylo možné ladit přidělení paměti.Další informace naleznete v tématu _getdcwd_dbg _wgetdcwd_dbg.

Mapování rutiny obecného textu

Byla zahájena rutina Tchar.h

_UNICODE a _MBCS není definováno

_MBCS, definice

_UNICODE definována

_tgetdcwd

_getdcwd

_getdcwd

_wgetdcwd

Požadavky

Byla zahájena rutina

Požadované záhlaví

_getdcwd

<direct.h>

_wgetdcwd

<direct.h> nebo <wchar.h>

Další informace o kompatibilitě v tématu Kompatibilita.

Příklad

Viz příklad v _getdrive.

Ekvivalent v rozhraní .NET Framework

System::Environment::CurrentDirectory

Viz také

Referenční dokumentace

Ovládací prvek adresář

_chdir _wchdir

_getcwd _wgetcwd

_getdrive

_mkdir _wmkdir

_rmdir _wrmdir