Sdílet prostřednictvím


_chdir, _wchdir

Změní aktuální pracovní adresář.

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

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

Viz také

Referenční dokumentace

Ovládací prvek adresáře

_mkdir, _wmkdir

_rmdir, _wrmdir

system, _wsystem