Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Ändert das aktuelle Arbeitsverzeichnis.
Syntax
int _chdir(
const char *dirname
);
int _wchdir(
const wchar_t *dirname
);
Parameter
dirname
Pfad des neuen Arbeitsverzeichnisses.
Rückgabewert
Diese Funktionen geben bei Erfolg den Wert 0 zurück. Ein Rückgabewert von -1 gibt einen Fehler an. Wenn der angegebene Pfad nicht gefunden werden konnte, errno wird auf ENOENT. Wenn dirname den Wert NULLannimmt, wird der Handler für ungültige Parameter aufgerufen, wie in Parameter Validation. Wenn die weitere Ausführung zugelassen wird, wird errno auf EINVAL gesetzt, und die Funktion gibt – 1 zurück.
Hinweise
Die _chdir -Funktion ändert das aktuelle Arbeitsverzeichnis und wählt das Verzeichnis aus, das durch dirnameangegeben ist. Der dirname -Parameter muss auf ein vorhandenes Verzeichnis verweisen. Diese Funktion kann das aktuelle Arbeitsverzeichnis auf jedem beliebigen Laufwerk ändern. Wenn ein neuer Laufwerkbuchstabe in dirnameangegeben wird, wird der Standardlaufwerkbuchstabe ebenfalls geändert. Angenommen, es handelt sich um A den Standardlaufwerkbuchstaben und \BIN das aktuelle Arbeitsverzeichnis. Der folgende Aufruf ändert das aktuelle Arbeitsverzeichnis für Laufwerk in \temp das C neue Standardlaufwerk und richtet C es als neues Standardlaufwerk ein:
_chdir("c:\\temp");
Wenn Sie den optionalen umgekehrten Schrägstrich (\) in Pfadangaben verwenden, müssen Sie in einem C-Zeichenfolgenliteral zwei umgekehrte Schrägstriche (\\) platzieren, um einen einzelnen umgekehrten Schrägstrich (\) darzustellen.
_wchdir ist eine Breitzeichenversion von _chdir. Das dirname -Argument für _wchdir ist eine Breitzeichenfolge. _wchdir und _chdir verhalten sich andernfalls identisch.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Generische Textroutinenzuordnung
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
|---|---|---|---|
_tchdir |
_chdir |
_chdir |
_wchdir |
Anforderungen
| Routine | Erforderlicher Header | Optionaler Header |
|---|---|---|
_chdir |
<direct.h> |
<errno.h> |
_wchdir |
<direct.h> oder <wchar.h> |
<errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// 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
Siehe auch
Verzeichnissteuerelement
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem