Sdílet prostřednictvím


_findfirst, _findfirst32, _findfirst32i64, _findfirst64, _findfirst64i32, _findfirsti64, _wfindfirst, _wfindfirst32, _wfindfirst32i64, _wfindfirst64, _wfindfirst64i32, _wfindfirsti64

Zadejte informace o první instanci názvu souboru, který odpovídá souboru zadanému v argumentu filespec .

Syntaxe

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
);

Parametry

filespec
Specifikace cílového souboru (může obsahovat zástupné znaky).

fileinfo
Vyrovnávací paměť informací o souboru.

Vrácená hodnota

V případě úspěchu _findfirst vrátí jedinečný popisovač vyhledávání identifikující soubor nebo skupinu souborů, které odpovídají filespec specifikaci, které lze použít při následném volání _findnext nebo na _findclose. _findfirst V opačném případě vrátí hodnotu -1 a nastaví errno se na jednu z následujících hodnot.

Hodnota errno Podmínka
EINVAL Neplatný parametr: filespec nebo fileinfo byl NULL. Nebo operační systém vrátil neočekávanou chybu.
ENOENT Specifikace souboru, která se nedá spárovat.
ENOMEM Nedostatek paměti.
EINVAL Neplatná specifikace názvu souboru nebo zadaný název souboru byl větší než MAX_PATH.

Další informace o těchto a dalších návratových kódech naleznete v tématu , , , a_sys_nerr . _sys_errlist_doserrnoerrno

Pokud je předán neplatný parametr, tyto funkce vyvolat neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru.

Poznámky

Volání musíte volat _findclose po dokončení volání buď pomocí _findfirst_findnext funkce (nebo jakékoli varianty), za předpokladu, že bylo volání _findfirst úspěšné. _findclose uvolní prostředky používané těmito funkcemi ve vaší aplikaci. Volání _findclose na neplatné popisovač vrátí -1 a nastaví errno na EINVAL.

Varianty těchto funkcí, které mají předponu w , jsou širokoúhlé verze. V opačném případě jsou identické s odpovídajícími jednobajtů.

Varianty těchto funkcí podporují 32bitové nebo 64bitové typy a 32bitové nebo 64bitové velikosti souborů. První číselná přípona (32 nebo 64) označuje velikost typu času; druhá přípona je buď i32 nebo i64, a označuje, zda je velikost souboru reprezentována jako 32bitové nebo 64bitové celé číslo. Informace o tom, které verze podporují 32bitové a 64bitové typy a velikosti souborů, najdete v následující tabulce. Pokud i32 je stejná jako velikost typu času, vynechá se přípona nebo i64 přípona, takže _findfirst64 podporuje také 64bitové délky souborů a _findfirst32 podporuje pouze 32bitové délky souboru.

Tyto funkce používají pro parametr různé formy _finddata_t struktury fileinfo . Další informace o struktuře naleznete v tématu Funkce hledání názvu souboru.

Varianty, které používají 64bitový typ času, umožňují vyjádřit data vytvoření souboru do 23:59:59, 31. prosince 3000 UTC. Ty, které používají 32bitové časové typy, představují kalendářní data pouze do 23:59:59 18. ledna 2038 UTC. Půlnoc, leden 1, 1970, je dolní mez rozsahu dat pro všechny tyto funkce.

Pokud nemáte konkrétní důvod k použití verzí, které určují velikost času explicitně, použijte _findfirst nebo _wfindfirst , pokud potřebujete podporovat velikosti souborů větší než 3 GB, použijte _findfirsti64 nebo _wfindfirsti64. Všechny tyto funkce používají 64bitový typ času. V dřívějších verzích tyto funkce používaly 32bitový typ času. Pokud se jedná o zásadní změnu aplikace, můžete definovat _USE_32BIT_TIME_T návrat k původnímu chování. Pokud _USE_32BIT_TIME_T je definována , _finfirsti64_findfirsta jejich odpovídající verze Unicode používají 32bitový čas.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Varianty typu času a délky souboru _findfirst

Funkce _USE_32BIT_TIME_T Definovány? Typ času Typ délky souboru
_findfirst, _wfindfirst Nedefinováno 64bitová 32bitová
_findfirst, _wfindfirst Definované 32bitová 32bitová
_findfirst32, _wfindfirst32 Není ovlivněn definicí makra. 32bitová 32bitová
_findfirst64, _wfindfirst64 Není ovlivněn definicí makra. 64bitová 64bitová
_findfirsti64, _wfindfirsti64 Nedefinováno 64bitová 64bitová
_findfirsti64, _wfindfirsti64 Definované 32bitová 64bitová
_findfirst32i64, _wfindfirst32i64 Není ovlivněn definicí makra. 32bitová 64bitová
_findfirst64i32, _wfindfirst64i32 Není ovlivněn definicí makra. 64bitová 32bitová

Mapování rutin obecného textu

Tchar.h Rutinní _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_tfindfirst _findfirst _findfirst _wfindfirst
_tfindfirst32 _findfirst32 _findfirst32 _wfindfirst32
_tfindfirst64 _findfirst64 _findfirst64 _wfindfirst64
_tfindfirsti64 _findfirsti64 _findfirsti64 _wfindfirsti64
_tfindfirst32i64 _findfirst32i64 _findfirst32i64 _wfindfirst32i64
_tfindfirst64i32 _findfirst64i32 _findfirst64i32 _wfindfirst64i32

Požadavky

Function Požadovaný hlavičkový soubor
_findfirst <io.h>
_findfirst32 <io.h>
_findfirst64 <io.h>
_findfirsti64 <io.h>
_findfirst32i64 <io.h>
_findfirst64i32 <io.h>
_wfindfirst <io.h> nebo <wchar.h>
_wfindfirst32 <io.h> nebo <wchar.h>
_wfindfirst64 <io.h> nebo <wchar.h>
_wfindfirsti64 <io.h> nebo <wchar.h>
_wfindfirst32i64 <io.h> nebo <wchar.h>
_wfindfirst64i32 <io.h> nebo <wchar.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

Systémová volání
Funkce hledání názvů souborů