_getdcwd
, _wgetdcwd
Mendapatkan jalur lengkap direktori kerja saat ini pada drive yang ditentukan.
Sintaks
char *_getdcwd(
int drive,
char *buffer,
int maxlen
);
wchar_t *_wgetdcwd(
int drive,
wchar_t *buffer,
int maxlen
);
Parameter
drive
Bilangan bulat non-negatif yang menentukan drive (0 = drive default, 1 = A, 2 = B, dan sebagainya).
Jika drive yang ditentukan tidak tersedia, handler parameter yang tidak valid akan dipanggil. Ini juga dipanggil ketika jenis drive (misalnya, dapat dilepas, diperbaiki, CD-ROM, disk RAM, atau drive jaringan) tidak dapat ditentukan. Untuk informasi selengkapnya, lihat Validasi parameter.
buffer
Lokasi penyimpanan untuk jalur, atau NULL
.
Jika NULL
ditentukan, fungsi ini mengalokasikan buffer dengan ukuran setidaknya maxlen
dengan menggunakan malloc
, dan nilai _getdcwd
pengembalian adalah penunjuk ke buffer yang dialokasikan. Buffer dapat dibebaskan dengan memanggil free
dan meneruskannya penunjuk.
maxlen
Bilangan bulat positif bukan nol yang menentukan panjang maksimum jalur, dalam karakter: char
untuk _getdcwd
dan wchar_t
untuk _wgetdcwd
.
Jika maxlen
kurang dari atau sama dengan nol, handler parameter tidak valid dipanggil. Untuk informasi selengkapnya, lihat Validasi parameter.
Nilai hasil
Penunjuk ke string yang mewakili jalur lengkap direktori kerja saat ini pada drive yang ditentukan, atau NULL
, yang menunjukkan kesalahan.
Jika buffer
ditentukan sebagai NULL
dan memori tidak cukup untuk mengalokasikan maxlen
karakter, kesalahan terjadi dan errno
diatur ke ENOMEM
. Jika panjang jalur termasuk karakter null yang mengakhiri melebihi maxlen
, kesalahan terjadi, dan errno
diatur ke ERANGE
. Untuk informasi selengkapnya tentang kode kesalahan ini, lihat errno
, , _doserrno
_sys_errlist
, dan _sys_nerr
.
Keterangan
Fungsi ini _getdcwd
mendapatkan jalur lengkap direktori kerja saat ini pada drive yang ditentukan dan menyimpannya di buffer
. Jika direktori kerja saat ini diatur ke akar, string berakhir dengan garis miring terbelakang (\). Jika direktori kerja saat ini diatur ke direktori selain akar, string berakhir dengan nama direktori dan bukan dengan garis miring terbelakang.
_wgetdcwd
adalah versi karakter luas dari _getdcwd
, dan parameter dan nilai pengembaliannya buffer
adalah string karakter lebar. Jika tidak, _wgetdcwd
dan _getdcwd
berulah identik.
Fungsi ini aman utas meskipun tergantung pada GetFullPathName
, yang itu sendiri tidak aman utas. Namun, Anda dapat melanggar keamanan utas jika aplikasi multithreaded Anda memanggil fungsi ini dan GetFullPathName
.
Versi fungsi ini yang memiliki _nolock
akhiran berperilaku identik dengan fungsi ini kecuali tidak aman untuk utas dan tidak terlindungi dari gangguan oleh utas lain. Untuk informasi selengkapnya, lihat _getdcwd_nolock
, _wgetdcwd_nolock
.
Ketika _DEBUG
dan _CRTDBG_MAP_ALLOC
didefinisikan, panggilan ke _getdcwd
dan _wgetdcwd
digantikan oleh panggilan ke _getdcwd_dbg
dan _wgetdcwd_dbg
, sehingga Anda dapat men-debug alokasi memori. Untuk informasi selengkapnya, lihat_getdcwd_dbg
, _wgetdcwd_dbg
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
Rutinitas Tchar.h | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tgetdcwd |
_getdcwd |
_getdcwd |
_wgetdcwd |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_getdcwd |
<direct.h> |
_wgetdcwd |
<direct.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
Lihat contoh di _getdrive
.
Baca juga
Kontrol direktori
_chdir
, _wchdir
_getcwd
, _wgetcwd
_getdrive
_mkdir
, _wmkdir
_rmdir
, _wrmdir
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