Aracılığıyla paylaş


_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 _findclosekullanı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_PATHbüyük.

Bunlar ve diğer iade kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _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 EINVALayarlarerrno.

Ö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 i64olur 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 _wfindfirsti64kullanı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, _findfirsti64ve 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.

Ayrıca bkz.

Sistem çağrıları
Dosya adı arama işlevleri