Share via


_chdir, _wchdir

Modifica la directory di lavoro corrente.

Sintassi

int _chdir(
   const char *dirname
);
int _wchdir(
   const wchar_t *dirname
);

Parametri

dirname
Percorso della nuova directory di lavoro.

Valore restituito

Se eseguite correttamente, queste funzioni restituiscono un valore pari a 0. Il valore restituito -1 indica un errore. Se non è stato possibile trovare il percorso specificato, errno è impostato su ENOENT. Se dirname è NULL, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno viene impostato su EINVAL e la funzione restituisce -1.

Osservazioni:

La funzione _chdir consente di passare dalla directory di lavoro corrente a quella specificata da dirname. Il parametro dirname deve fare riferimento a una directory esistente. Questa funzione può modificare la directory di lavoro corrente in qualsiasi unità. Se viene specificata una nuova lettera di unità in dirname, anche la lettera di unità predefinita verrà modificata. Si supponga A , ad esempio, che sia la lettera di unità predefinita e \BIN che sia la directory di lavoro corrente. La chiamata seguente modifica la directory di lavoro corrente per l'unità C in \temp e viene C stabilita come nuova unità predefinita:

_chdir("c:\\temp");

Quando si usa il carattere barra rovesciata (\) facoltativo nei percorsi, si devono inserire due caratteri di barra rovesciata (\\) in un valore letterale stringa C per rappresentare una singola barra rovesciata (\).

_wchdir è una versione a caratteri wide di _chdir; l'argomento dirname in _wchdir è una stringa di caratteri wide. In caso contrario,_wchdir e _chdir si comportano in modo identico.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Mapping di routine di testo generico

Tchar.h Routine _UNICODE e _MBCS non definito _MBCS Definito _UNICODE Definito
_tchdir _chdir _chdir _wchdir

Requisiti

Ciclo Intestazione obbligatoria Intestazione facoltativa
_chdir <direct.h> <errno.h>
_wchdir <direct.h> oppure <wchar.h> <errno.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

// 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

Vedi anche

Controllo directory
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem