_chdir _wchdir
Změní aktuální pracovní adresář.
Dů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. |
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
Parametry
- dirname
Cesta k nové pracovní adresář.
Vrácená hodnota
Tato funkce vrátí hodnotu 0 v případě úspěchu.Vrácená hodnota –1 označuje chybu.V případě, že zadaná cesta nebyla nalezena, errno je nastavena na ENOENT.Pokud dirname má hodnotu NULL, je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů.Je-li pokračovat, je povoleno zpracování errno je nastavena na EINVAL a vrátí hodnotu -1.
Poznámky
_chdir Funkce změní aktuální pracovní adresář do adresáře určeného parametrem dirname.dirname Musí odkazovat na existující adresář.Tuto funkci můžete změnit aktuální pracovní adresář na libovolnou jednotku.Jestliže se nové písmeno jednotky v dirname, je také změněn výchozí písmeno jednotky.Například \BIN je aktuální pracovní adresář je výchozí písmeno jednotky, následující volání změní aktuální pracovní adresář na jednotce 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 (\).
_wchdirje verzí širokého znaku _chdir; dirname argument _wchdir je řetězec širokého znaku. _wchdira _chdir jinak chovat identicky.
Mapování rutiny obecného textu:
Byla zahájena rutina Tchar.h |
_UNICODE a _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
Požadavky
Byla zahájena 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ě v tématu Compatibility v úvodu.
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