_getcwd, _wgetcwd
Geçerli çalışma dizini alır.
Önemli
Bu API, Windows çalışma zamanı yürütme uygulamalarda kullanılamaz.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin.
char *_getcwd(
char *buffer,
int maxlen
);
wchar_t *_wgetcwd(
wchar_t *buffer,
int maxlen
);
Parametreler
buffer
Yol için depolama konumu.maxlen
En fazla uzunluğu karakter yolu: char için _getcwd ve wchar_t için _wgetcwd.
Dönüş Değeri
Bir işaretçi döndürür buffer. A NULL dönüş değeri bir hata gösterir ve errno ya da ayarlamak ENOMEM, ayırmak için yeterli bellek olduğunu gösteren maxlen bayt (zaman bir NULL bağımsız olarak verilir buffer), veya ERANGE, yol daha uzun olduğunu belirten maxlen karakter. maxlen Küçük veya eşit olan sıfır olarak açıklandığı gibi bu işlevi bir geçersiz parametre işleyicisi çağırır Parametre doğrulama.
Bunlar ve diğer dönüş kodları hakkında daha fazla bilgi için bkz: _doserrno, hatano, _sys_errlist ve _sys_nerr.
Notlar
_getcwd İşlevi varsayılan sürücü için geçerli çalışma dizininin tam yolunu alır ve konumunda depolar buffer. Tamsayı bağımsız değişkeni maxlen yolunu maksimum uzunluğunu belirtir. (Sondaki boş karakter dahil) yolunun uzunluğu aşarsa bir hata meydana maxlen*.* buffer Bağımsız değişken olabilir NULL; bir arabellek boyutu en az maxlen (daha yalnızca gerekli olduğunda) otomatik olarak ayrılır, kullanarak malloc, yol depolamak için. Bu arabellek çağırarak daha sonra boşaltılabileceğini free ve onu _getcwd dönüş değeri (ayrılmış arabellek için bir işaretçi).
_getcwdGeçerli çalışma dizini yolunu temsil eden bir dize döndürür. Geçerli çalışma dizini kök ise, dize bir ters eğik çizgi ile biten ( \ ). Geçerli çalışma dizini kök yerine bir dizin, dize önüne ters eğik çizgi ve dizin adı ile sona erer.
_wgetcwdgeniş karakter sürümü _getcwd; buffer bağımsız değişkeni ve dönüş değeri, _wgetcwd geniş karakter dizeleridir. _wgetcwdve _getcwd Aksi takdirde aynı şekilde davranır.
Zaman _DEBUG ve _CRTDBG_MAP_ALLOC tanımlanan, için çağırdığı _getcwd ve _wgetcwd yapılan çağrılar tarafından değiştirilir _getcwd_dbg ve _wgetcwd_dbg hata ayıklama bellek ayırması için izin vermek için. Daha fazla bilgi için bkz: _getcwd_dbg, _wgetcwd_dbg.
Genel metin eşlemeleri yordamına girildi
Tchar.h yordamına girildi |
_UNICODE ve _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tgetcwd |
_getcwd |
_getcwd |
_wgetcwd |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_getcwd |
<direct.h> |
_wgetcwd |
<direct.h> veya <wchar.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// crt_getcwd.c
// This program places the name of the current directory in the
// buffer array, then displays the name of the current directory
// on the screen. Passing NULL as the buffer forces getcwd to allocate
// memory for the path, which allows the code to support file paths
// longer than _MAX_PATH, which are supported by NTFS.
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
char* buffer;
// Get the current working directory:
if( (buffer = _getcwd( NULL, 0 )) == NULL )
perror( "_getcwd error" );
else
{
printf( "%s \nLength: %d\n", buffer, strnlen(buffer) );
free(buffer);
}
}
.NET Framework Eşdeğeri
System::Environment::CurrentDirectory