_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 dirname
belirtilen 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 dirname
yeni 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 _chdir
geniş 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