Freigeben über


_chdir, _wchdir

Ä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