Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Změní aktuální pracovní adresář.
Syntaxe
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
Parametry
dirname
Cesta k novému pracovnímu adresáři
Vrácená hodnota
Pokud jsou tyto funkce úspěšné, vrátí hodnotu 0. Vrácená hodnota -1 označuje selhání. Pokud se zadaná cesta nenašla, errno je nastavená na ENOENThodnotu . Pokud dirname je NULL, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, errno je nastaveno na EINVAL hodnotu a funkce vrátí hodnotu -1.
Poznámky
Funkce _chdir změní aktuální pracovní adresář na adresář určený dirname. Parametr dirname musí odkazovat na existující adresář. Tato funkce může změnit aktuální pracovní adresář na libovolné jednotce. Pokud je zadáno dirnamenové písmeno jednotky, změní se i výchozí písmeno jednotky. Předpokládejme například, že A je výchozí písmeno jednotky a \BIN je aktuální pracovní adresář. Následující volání změní aktuální pracovní adresář jednotky C na \temp jednotku a vytvoří C jako novou výchozí jednotku:
_chdir("c:\\temp");
Pokud použijete volitelný znak zpětného lomítka (\) v cestách, musíte umístit dvě zpětná lomítka (\\) do řetězcového literálu jazyka C, aby představovala jedno zpětné lomítko (\).
_wchdirje verze širokého znaku _chdirdirname ; argument je _wchdir řetězec širokého znaku. _wchdir a _chdir chovat se stejně jinak.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
Tchar.h rutina |
_UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
|---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
Požadavky
| Rutina | Požadovaný hlavičkový soubor | Volitelné záhlaví |
|---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> nebo <wchar.h> |
<errno.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_chdir.c
// arguments: C:\WINDOWS
/* This program uses the _chdir function to verify
that a given directory exists. */
#include <direct.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int argc, char *argv[] )
{
if(_chdir( argv[1] ) )
{
switch (errno)
{
case ENOENT:
printf( "Unable to locate the directory: %s\n", argv[1] );
break;
case EINVAL:
printf( "Invalid buffer.\n");
break;
default:
printf( "Unknown error.\n");
}
}
else
system( "dir *.exe");
}
Volume in drive C has no label.
Volume Serial Number is 2018-08A1
Directory of c:\windows
08/29/2002 04:00 AM 1,004,032 explorer.exe
12/17/2002 04:43 PM 10,752 hh.exe
03/03/2003 09:24 AM 33,792 ieuninst.exe
10/29/1998 04:45 PM 306,688 IsUninst.exe
08/29/2002 04:00 AM 66,048 NOTEPAD.EXE
03/03/2003 09:24 AM 33,792 Q330994.exe
08/29/2002 04:00 AM 134,144 regedit.exe
02/28/2003 06:26 PM 46,352 setdebug.exe
08/29/2002 04:00 AM 15,360 TASKMAN.EXE
08/29/2002 04:00 AM 49,680 twunk_16.exe
08/29/2002 04:00 AM 25,600 twunk_32.exe
08/29/2002 04:00 AM 256,192 winhelp.exe
08/29/2002 04:00 AM 266,752 winhlp32.exe
13 File(s) 2,249,184 bytes
0 Dir(s) 67,326,029,824 bytes free
Viz také
Ovládací prvek adresář
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem