Bagikan melalui


_chdir, _wchdir

Mengubah direktori kerja saat ini.

Sintaks

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

Parameter

dirname
Jalur direktori kerja baru.

Nilai hasil

Fungsi-fungsi ini mengembalikan nilai 0 jika berhasil. Nilai pengembalian -1 menunjukkan kegagalan. Jika jalur yang ditentukan tidak dapat ditemukan, errno diatur ke ENOENT. Jika dirname adalah NULL, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, errno diatur ke EINVAL dan fungsi mengembalikan -1.

Keterangan

Fungsi mengubah _chdir direktori kerja saat ini ke direktori yang ditentukan oleh dirname. Parameter dirname harus merujuk ke direktori yang ada. Fungsi ini dapat mengubah direktori kerja saat ini pada drive apa pun. Jika huruf kandar baru ditentukan dalam dirname, huruf drive default juga diubah. Misalnya, asumsikan A adalah huruf drive default dan \BIN merupakan direktori kerja saat ini. Panggilan berikut mengubah direktori kerja saat ini untuk drive C ke \temp dan ditetapkan C sebagai drive default baru:

_chdir("c:\\temp");

Saat Anda menggunakan karakter garis miring terbelakang opsional (\) di jalur, Anda harus menempatkan dua garis miring terbelakang (\\) dalam string C literal untuk mewakili garis miring terbelakang tunggal (\).

_wchdir adalah versi karakter luas dari _chdir; dirname argumen ke _wchdir adalah string karakter lebar. _wchdir dan _chdir berulah secara identik jika tidak.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Pemetaan rutin teks generik

Tchar.h Rutin _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tchdir _chdir _chdir _wchdir

Persyaratan

Rutin Header yang diperlukan Header opsional
_chdir <direct.h> <errno.h>
_wchdir <direct.h> atau <wchar.h> <errno.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

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

Baca juga

Kontrol direktori
_mkdir, _wmkdir
_rmdir, _wrmdir
system, _wsystem