_findfirst
, _findfirst32
, , _findfirst32i64
, _findfirst64
, _findfirst64i32
, _findfirsti64
, , _wfindfirst
, _wfindfirst32
, _wfindfirst32i64
_wfindfirst64
, _wfindfirst64i32
,_wfindfirsti64
Bağımsız değişkeninde filespec
belirtilen dosyayla eşleşen bir dosya adının ilk örneği hakkında bilgi sağlayın.
Sözdizimi
intptr_t _findfirst(
const char *filespec,
struct _finddata_t *fileinfo
);
intptr_t _findfirst32(
const char *filespec,
struct _finddata32_t *fileinfo
);
intptr_t _findfirst64(
const char *filespec,
struct _finddata64_t *fileinfo
);
intptr_t _findfirsti64(
const char *filespec,
struct _finddatai64_t *fileinfo
);
intptr_t _findfirst32i64(
const char *filespec,
struct _finddata32i64_t *fileinfo
);
intptr_t _findfirst64i32(
const char *filespec,
struct _finddata64i32_t *fileinfo
);
intptr_t _wfindfirst(
const wchar_t *filespec,
struct _wfinddata_t *fileinfo
);
intptr_t _wfindfirst32(
const wchar_t *filespec,
struct _wfinddata32_t *fileinfo
);
intptr_t _wfindfirst64(
const wchar_t *filespec,
struct _wfinddata64_t *fileinfo
);
intptr_t _wfindfirsti64(
const wchar_t *filespec,
struct _wfinddatai64_t *fileinfo
);
intptr_t _wfindfirst32i64(
const wchar_t *filespec,
struct _wfinddata32i64_t *fileinfo
);
intptr_t _wfindfirst64i32(
const wchar_t *filespec,
struct _wfinddata64i32_t *fileinfo
);
Parametreler
filespec
Hedef dosya belirtimi (joker karakter içerebilir).
fileinfo
Dosya bilgileri arabelleği. Yapılar hakkında fileinfo
daha fazla bilgi için Bkz. Dosya adı arama işlevlerindeki açıklamalar ve bkz. Veri türü eşlemeleri. Yapılar, bunları parametre olarak kullanan işlevle aynı üst bilgi dosyasında tanımlanır.
Dönüş değeri
Başarılı olursa, _findfirst
belirtim ile eşleşen filespec
dosyayı veya dosya grubunu tanımlayan benzersiz bir arama tutamacı döndürür. Bu, sonraki veya çağrısında _findnext
_findclose
kullanılabilir. Aksi takdirde, _findfirst
-1 döndürür ve aşağıdaki değerlerden birine ayarlar errno
.
errno değeri | Koşul |
---|---|
EINVAL |
Geçersiz parametre: filespec veya fileinfo idi NULL . Veya işletim sistemi beklenmeyen bir hata döndürdü. |
ENOENT |
Eşleştirilemeyen dosya belirtimi. |
ENOMEM |
Yetersiz bellek. |
EINVAL |
Geçersiz dosya adı belirtimi veya verilen dosya adı değerinden MAX_PATH büyük. |
Bunlar ve diğer iade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Geçersiz bir parametre geçirilirse, bu işlevler Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır.
Açıklamalar
Çağrısının başarılı olması koşuluyla _findfirst
veya _findnext
işleviyle (veya herhangi bir değişkenle) işiniz bittikten sonra aramanız _findfirst
gerekir_findclose
. _findclose
uygulamanızda bu işlevler tarafından kullanılan kaynakları serbest getirir. Geçersiz bir tanıtıcıda çağrılması _findclose
döndürür -1
ve olarak EINVAL
ayarlarerrno
.
Ön eki olan w
bu işlevlerin varyasyonları geniş karakterli sürümlerdir; aksi takdirde, karşılık gelen tek baytlı işlevlerle aynıdır.
Bu işlevlerin varyasyonları 32 bit veya 64 bit zaman türlerini ve 32 bit veya 64 bit dosya boyutlarını destekler. İlk sayısal sonek (32
veya 64
), zaman türünün boyutunu gösterir; ikinci sonek ya da i32
i64
olur ve dosya boyutunun 32 bit veya 64 bit tamsayı olarak temsil edilip edilmediğini gösterir. Hangi sürümlerin 32 bit ve 64 bit zaman türlerini ve dosya boyutlarını desteklediği hakkında bilgi için aşağıdaki tabloya bakın. i32
Veya i64
soneki, zaman türünün boyutuyla aynıysa atlanır, bu nedenle _findfirst64
64 bit dosya uzunluklarını da destekler ve _findfirst32
yalnızca 32 bit dosya uzunluklarını destekler.
Bu işlevler parametre için yapının çeşitli biçimlerini _finddata_t
fileinfo
kullanır. Yapı hakkında daha fazla bilgi için bkz . Dosya adı arama işlevleri.
64 bit zaman türü kullanan varyasyonlar, dosya oluşturma tarihlerinin 23:59:59, 31 Aralık 3000, UTC'ye kadar ifade edilmesine olanak tanır. 32 bit saat türlerini kullananlar yalnızca 18 Ocak 2038 UTC ile 23:59:59 arasındaki tarihleri temsil eder. 1 Ocak 1970 gece yarısı, tüm bu işlevlerin tarih aralığının alt sınırıdır.
Zaman boyutunu açıkça belirten sürümleri kullanmak için belirli bir nedeniniz yoksa veya _wfindfirst
veya _findfirst
kullanın, 3 GB'tan büyük dosya boyutlarını desteklemeniz gerekiyorsa veya _wfindfirsti64
kullanın_findfirsti64
. Tüm bu işlevler 64 bit zaman türünü kullanır. Önceki sürümlerde bu işlevler 32 bit zaman türü kullanıyordu. Bu değişiklik bir uygulama için hataya neden olan bir değişiklikse, eski davranışa geri dönmek için tanımlayabilirsiniz _USE_32BIT_TIME_T
. tanımlanırsa _USE_32BIT_TIME_T
, _findfirst
, _findfirsti64
ve karşılık gelen Unicode sürümleri 32 bit zaman kullanır.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
_findfirst Zaman Türü ve Dosya Uzunluğu Türü Çeşitlemeleri
İşlevler | _USE_32BIT_TIME_T tanımlanan? |
Saat türü | Dosya uzunluğu türü |
---|---|---|---|
_findfirst , _wfindfirst |
Tanımlı değil | 64 bit | 32 bit |
_findfirst , _wfindfirst |
Tanımlı | 32 bit | 32 bit |
_findfirst32 , _wfindfirst32 |
Makro tanımından etkilenmez | 32 bit | 32 bit |
_findfirst64 , _wfindfirst64 |
Makro tanımından etkilenmez | 64 bit | 64 bit |
_findfirsti64 , _wfindfirsti64 |
Tanımlı değil | 64 bit | 64 bit |
_findfirsti64 , _wfindfirsti64 |
Tanımlı | 32 bit | 64 bit |
_findfirst32i64 , _wfindfirst32i64 |
Makro tanımından etkilenmez | 32 bit | 64 bit |
_findfirst64i32 , _wfindfirst64i32 |
Makro tanımından etkilenmez | 64 bit | 32 bit |
Genel metin yordamı eşlemeleri
Tchar.h olağan |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_tfindfirst |
_findfirst |
_findfirst |
_wfindfirst |
_tfindfirst32 |
_findfirst32 |
_findfirst32 |
_wfindfirst32 |
_tfindfirst64 |
_findfirst64 |
_findfirst64 |
_wfindfirst64 |
_tfindfirsti64 |
_findfirsti64 |
_findfirsti64 |
_wfindfirsti64 |
_tfindfirst32i64 |
_findfirst32i64 |
_findfirst32i64 |
_wfindfirst32i64 |
_tfindfirst64i32 |
_findfirst64i32 |
_findfirst64i32 |
_wfindfirst64i32 |
Gereksinimler
İşlev | Gerekli başlık |
---|---|
_findfirst |
<io.h> |
_findfirst32 |
<io.h> |
_findfirst64 |
<io.h> |
_findfirsti64 |
<io.h> |
_findfirst32i64 |
<io.h> |
_findfirst64i32 |
<io.h> |
_wfindfirst |
<io.h> veya <wchar.h> |
_wfindfirst32 |
<io.h> veya <wchar.h> |
_wfindfirst64 |
<io.h> veya <wchar.h> |
_wfindfirsti64 |
<io.h> veya <wchar.h> |
_wfindfirst32i64 |
<io.h> veya <wchar.h> |
_wfindfirst64i32 |
<io.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.