Aracılığıyla paylaş


_chdir, _wchdir

Geçerli çalışma dizinini değiştirir.

Sözdizimi

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

Parametreler

dirname
Yeni çalışma dizininin yolu.

Dönüş değeri

Bu işlevler başarılı olursa 0 değerini döndürür. -1 dönüş değeri hataya işaret eder. Belirtilen yol bulunamazsa olarak errno ayarlanır ENOENT. ise dirname NULL, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, errno olarak ayarlanır EINVAL ve işlevi -1 döndürür.

Açıklamalar

İşlev, _chdir geçerli çalışma dizinini tarafından dirnamebelirtilen dizine değiştirir. dirname parametresi var olan bir dizine başvurmalıdır. Bu işlev herhangi bir sürücüdeki geçerli çalışma dizinini değiştirebilir. içinde dirnameyeni bir sürücü harfi belirtilirse, varsayılan sürücü harfi de değiştirilir. Örneğin, varsayılan sürücü harfi olduğunu ve \BIN geçerli çalışma dizini olduğunu varsayalımA. Aşağıdaki çağrı, sürücü C için geçerli çalışma dizinini \temp olarak değiştirir ve yeni varsayılan sürücü olarak oluşturulur C :

_chdir("c:\\temp");

Yollarda isteğe bağlı ters eğik çizgi karakterini () kullandığınızda, tek bir ters eğik çizgiyi (\\\) temsil etmek için C dizesi değişmez değerine iki ters eğik çizgi (\) yerleştirmeniz gerekir.

_wchdir , öğesinin _chdirgeniş karakterli bir sürümüdür; dirname bağımsız değişkeni _wchdir geniş karakterli bir dizedir. _wchdir ve _chdir aksi takdirde aynı şekilde davran.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemesi

Tchar.h olağan _UNICODE ve _MBCS tanımlanmadı _MBCS tanımlanan _UNICODE tanımlanan
_tchdir _chdir _chdir _wchdir

Gereksinimler

Yordam Gerekli başlık İsteğe bağlı üst bilgi
_chdir <direct.h> <errno.h>
_wchdir <direct.h> veya <wchar.h> <errno.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

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

Ayrıca bkz.

Dizin denetimi
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem