Partager via


_chdir, _wchdir

Change le répertoire de travail actif.

Syntaxe

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

Paramètres

dirname
Chemin du nouveau répertoire de travail.

Valeur retournée

Ces fonctions retournent la valeur 0 en cas de réussite. Une valeur de retour de -1 indique l’échec. Si le chemin spécifié est introuvable, errno la valeur est définie ENOENTsur . Si dirname c’est NULLle cas, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, errno est défini sur EINVAL et la fonction retourne -1.

Notes

La fonction _chdir change le répertoire de travail actuel pour le répertoire spécifié par dirname. Le paramètre dirname doit faire référence à un répertoire existant. Cette fonction peut changer le répertoire de travail actuel sur n’importe quel lecteur. Si une nouvelle lettre de lecteur est spécifiée dans dirname, la lettre du lecteur par défaut est également changée. Par exemple, supposons que A la lettre de lecteur par défaut est \BIN le répertoire de travail actuel. L’appel suivant modifie le répertoire de travail actuel du lecteur C\temp vers et établit C comme nouveau lecteur par défaut :

_chdir("c:\\temp");

Quand vous utilisez le caractère facultatif barre oblique inverse (\) dans les chemins, vous devez placer deux barres obliques inverses (\\) dans une chaîne littérale C pour représenter une barre oblique inverse (\).

_wchdir est une version à caractères larges de _chdir; l'argument dirname de _wchdir est une chaîne à caractères larges. Sinon,_wchdir et _chdir se comportent de la même façon.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappage de routine de texte générique

Tchar.h Routine _UNICODE et _MBCS non défini _MBCS Défini _UNICODE Défini
_tchdir _chdir _chdir _wchdir

Spécifications

Routine En-tête requis En-tête facultatif
_chdir <direct.h> <errno.h>
_wchdir <direct.h> ou <wchar.h> <errno.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

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

Voir aussi

Contrôle d’annuaire
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem