_chdir, _wchdir
Změní aktuální pracovní adresář.
![]() |
---|
Toto API nelze použít v aplikacích, které jsou spuštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
Parametry
- dirname
Cesta k nové pracovní adresář.
Vrácená hodnota
Tyto funkce vracejí hodnotu 0 v případě úspěchu.Vrácená hodnota –1 označuje chybu.Pokud zadaná cesta nebyla nalezena, errno je nastavena na ENOENT.Pokud dirname je NULL, je vyvolána obslužná rutina neplatné parametru, jak je popsáno v Ověření parametru .Pokud je povoleno zpracování pokračovat, errno je nastavena na EINVAL a vrátí -1.
Poznámky
_chdir Funkce změní aktuální pracovní adresář na adresář určený parametrem dirname.dirname Parametr musí odkazovat na existující adresář.Tuto funkci můžete změnit aktuální pracovní adresář na jakékoli jednotce.Jestliže se nové písmeno jednotky v dirname, je také změněn výchozí písmeno jednotky.Například pokud je výchozí písmeno jednotky a \BIN je aktuální pracovní adresář, následující volání změní aktuální pracovní adresář pro jednotku C a C se zavádí jako nový výchozí jednotka:
_chdir("c:\\temp");
Při použití volitelné lomítka (\) do cesty, je nutné umístit dvě zpětná lomítka (\\) v C řetězcový literál představující jedno zpětné lomítko (\).
_wchdir je verze širokého znaku _chdir; dirname argument _wchdir je řetězec širokého znaku. _wchdir a _chdir jinak chovat identicky.
Rutinní mapování obecného textu:
Rutina Tchar.h |
_UNICODE a _MBCS nejsou definovány |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
Požadavky
Rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> nebo <wchar.h> |
<errno.h> |
Další informace o kompatibilitě naleznete 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");
}
Ekvivalent v rozhraní .NET Framework
System::Environment::CurrentDirectory