_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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk