_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
c’est NULL
le 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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour