_getdcwd, _wgetdcwd
Belirtilen sürücüdeki geçerli çalışma dizininin tam yolunu alır.
Önemli |
---|
Bu API, Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamaz.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri. |
char *_getdcwd(
int drive,
char *buffer,
int maxlen
);
wchar_t *_wgetdcwd(
int drive,
wchar_t *buffer,
int maxlen
);
Parametreler
drive
Sürücüyü belirten negatif olmayan tamsayı (0 = varsayılan sürücü, 1 = A, 2 = B, vb).Belirtilen sürücü kullanılanıma uygun değilse veya sürücü türünü (örneğin çıkarılabilir, sabit, CD-ROM, RAM disk veya ağ sürücüsü) saptanamıyorsa, geçersiz parametre işleyicisi Parametre Doğrulama konusunda açıklandığı gibi çağrılır.
buffer
Yol için depolama konumu veya NULL .NULL belirtilirse, bu işlev malloc kullanarak en az maxlen boyutunda bir ara bellek ayırır ve _getdcwd dönüş değeri ayrılan arabelleğin işaretçisidir.Arabellek, free işlevi çağrılıp işaretçi işleve geçilerek serbest bırakılabilir.
maxlen
Yolun maksimum uzunluğunu belirten sıfır olmayan pozitif bir tamsayı, karakter olarak : _getdcwd için char ve _wgetdcwd için wchar_t .maxlen sıfırdan büyük değilse, Parametre Doğrulama konusunda açıklanan geçersiz parametre çağrılır.
Dönüş Değeri
Belirtilen sürücüdeki geçerli çalışma dizinin tam yolunu temsil eden dizeye yönelik işaretçi veya bir hatayı gösteren NULL.
bufferNULL olarak belirtilirse ve maxlen karakterlerini ayırmak için yeterli bellek yoksa, bir hata oluşur ve errno öğesi ENOMEM olarak ayarlanır.Sondaki null karakteri de içeren yolun uzunluğu maxlen parametresini aşarsa bir hata oluşur ve errno değişkeni ERANGE olarak ayarlanır.Bu hata kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlist, and _sys_nerr.
Notlar
_getdcwd işlevi, geçerli çalışma dizininin belirtilen sürücüdeki tam yolunu alır ve buffer içinde depolar.Geçerli çalışma dizini kök olarak ayarlarsanız, dize ters eğik çizgiyle (\) sona erer.Geçerli çalışma dizini kök dışında bir dizin olarak ayarlanırsa, dize bir ters eğik çizgiyle değil, dizinin adıyla sona erer.
_wgetdcwd, _getdcwd öğesinin geniş karakter sürümüdür ve buffer parametresi ve dönüş değeri geniş karakterli dizelerdir.Aksi takdirde, _wgetdcwd ve _getdcwd aynı şekilde davranır.
Bu işlev, kendisi iş parçacığı açısından güvenli olmayan GetFullPathName'e bağlı olsa da, iş parçacığı açısından güvenlidir.Ancak, çok iş parçacıklı uygulamanız hem bu işlevi hem de GetFullPathName işlevini çağırırsa, iş parçacığı güvenliğini ihlal edebilirsiniz.Daha fazla bilgi için MSDN Library'ye gidin ve GetFullPathName öğesini arayın.
Bu işlevin, _nolock soneki olan sürümü, iş parçacığı açısından güvenli olmaması ve başka iş parçacıklarıyla engellenmeden korunmaması hariç, bu işlevle aynı şekilde davranır.Daha fazla bilgi için bkz. _getdcwd_nolock, _wgetdcwd_nolock.
_DEBUG ve _CRTDBG_MAP_ALLOC tanımlandığında, _getdcwd ve _wgetdcwd çağrıları, _getdcwd_dbg ve _wgetdcwd_dbg çağrılarıyla değiştirilir, böylece bellek ayırmalarını ayıklayabilirsiniz.Daha fazla bilgi için bkz. _getdcwd_dbg, _wgetdcwd_dbg.
Genel Metin Yordam Eşleşmeleri
Tchar.h yordamı |
_UNICODE ve _MBCS tanımlanmaz |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_tgetdcwd |
_getdcwd |
_getdcwd |
_wgetdcwd |
Gereksinimler
Yordam |
Gerekli başlık |
---|---|
_getdcwd |
<direct.h> |
_wgetdcwd |
<direct.h> veya <wchar.h> |
Uyumluluk hakkında daha fazla bilgi için bkz. Uyumluluk.
Örnek
_getdrive için örneğine bakın.
.NET Framework Eşdeğeri
System::Environment::CurrentDirectory