_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 ENOENT
sur . Si dirname
a la valeur NULL
, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. 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
Routine Tchar.h |
_UNICODE et _MBCS non définis |
_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