_findfirst
, _findfirst32
, , , _findfirst64i32
_wfindfirst32i64
_findfirsti64
_wfindfirst64i32
_findfirst64
_wfindfirst
_wfindfirst32
_wfindfirst64
_findfirst32i64
_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. Další informace o fileinfo
strukturách naleznete v poznámkách ve vyhledávacích funkcích název souboru a viz mapování datových typů. Struktury jsou definovány ve stejném souboru hlaviček jako funkce, která je používá jako parametr.
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
_doserrno
errno
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 , _findfirsti64
_findfirst
a 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 definovaný? |
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 rutina |
_UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_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.