_findfirst, _wfindfirst
Informacje na temat pierwsze wystąpienie nazwy pliku, który pasuje do określonego w pliku filespec argument.
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
Specyfikacja pliku docelowego (może zawierać symbole wieloznaczne).fileinfo
Plik informacji buforu.
Wartość zwracana
W przypadku powodzenia, _findfirst zwraca uchwyt wyszukiwania unikatowy, identyfikujący plik lub grupę plików, które odpowiadają filespec specyfikacji, które mogą być używane w kolejne wywołania _findnext lub _findclose.W przeciwnym razie _findfirst zwraca –1 i ustawia errno do jednego z następujących wartości.
EINVAL
Invalid parameter: filespec or fileinfo was NULL.Lub system operacyjny zwrócił nieoczekiwany błąd.ENOENT
Specyfikacja pliku, którego nie można dopasować.ENOMEM
Za mało pamięci.EINVAL
Nieprawidłowy plik Nazwa specyfikacji lub nazwa pliku, biorąc pod uwagę był większy niż MAX_PATH.
Aby uzyskać więcej informacji na temat tych i innych kodów powrotu, zobacz _doserrno, errno, _sys_errlist i _sys_nerr.
Jeśli jest przekazany nieprawidłowy parametr, te funkcje wywołania obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.
Uwagi
Musisz wywołać _findclose po zakończeniu albo _findfirst lub _findnext funkcji (lub warianty).Uwalnia to zasoby używane przez te funkcje w aplikacji.
Różnice te funkcje, które mają w prefiks są wersje szerokich znaków; w przeciwnym razie są one identyczne, odpowiadające im funkcje jednobajtowych.
Różnice te funkcje obsługi czasu 32-bitowy lub 64-bitowe typy i rozmiary pliku 32-bitowy lub 64-bitowych.Pierwszy sufiks numeryczny (32 lub 64) wskazuje rozmiar typu Godzina; drugi sufiks jest albo i32 lub i64oraz wskazuje, czy rozmiar pliku jest reprezentowane jako liczba całkowita 32-bitowa lub 64-bitowych.Aby uzyskać informacje o tym, które wersje obsługują czas 32-bitowych i 64-bitowe typy i rozmiary plików Zobacz następującą tabelę.i32 Lub i64 sufiks zostanie pominięty, jeśli jest taka sama, jak rozmiar typu Godzina tak _findfirst64 obsługuje również 64-bitowy plik długości i _findfirst32 obsługuje tylko 32-bitowy plik długości.
Funkcje te korzystają z różnych form _finddata_t struktury dla fileinfo parametru.Aby uzyskać więcej informacji na temat struktury, zobacz _find, _wfind — Funkcje.
Wariacje, używające typu czasu 64-bitowych włączyć daty utworzenia pliku wyrażone są do 23: 59: 59, 31 grudnia, 3000, UTC.Tych, które korzystają z czasu 32-bitowe typy reprezentują daty tylko za pośrednictwem 19: 14: 07 18 stycznia 2038, UTC.Północy, 1 stycznia 1970 r., jest dolną granicą zakres dat dla tych funkcji.
Chyba że istnieje szczególna przyczyna, aby użyć wersji, które jawnie określić wielkość czasu, należy użyć _findfirst lub _wfindfirst lub jeśli trzeba obsługiwać rozmiary plików większych niż 3 GB, użyj _findfirsti64 lub _wfindfirsti64.Tych funkcji należy użyć typu czasu 64-bitowych.We wcześniejszych wersjach tych funkcji używany typ czasu 32-bitowych.Jeśli jest to zmiana podziału dla aplikacji, można zdefiniować _USE_32BIT_TIME_T , aby powrócić do starego zachowania.Jeśli _USE_32BIT_TIME_T jest zdefiniowany, _findfirst, _finfirsti64, i odpowiadające im wersje Unicode wykorzystać czas 32-bitowych.
Typ czasu i zmian typu długość pliku _findfirst
Funkcje |
_USE_32BIT_TIME_Tdefinicja? |
Typ czasu |
Typ długość pliku |
---|---|---|---|
_findfirst, _wfindfirst |
Nie zdefiniowano |
64-bitowe |
32-bitowe |
_findfirst, _wfindfirst |
Definicja |
32-bitowe |
32-bitowe |
_findfirst32, _wfindfirst32 |
Nie dotyczy definicji makra |
32-bitowe |
32-bitowe |
_findfirst64, _wfindfirst64 |
Nie dotyczy definicji makra |
64-bitowe |
64-bitowe |
_findfirsti64, _wfindfirsti64 |
Nie zdefiniowano |
64-bitowe |
64-bitowe |
_findfirsti64, _wfindfirsti64 |
Definicja |
32-bitowe |
64-bitowe |
_findfirst32i64, _wfindfirst32i64 |
Nie dotyczy definicji makra |
32-bitowe |
64-bitowe |
_findfirst64i32, _wfindfirst64i32 |
Nie dotyczy definicji makra |
64-bitowe |
32-bitowe |
Tekst rodzajowy rutynowych mapowania
Procedura TCHAR.h |
_UNICODE i _MBCS nie zdefiniowane |
_MBCS, definicja |
_UNICODE, definicja |
---|---|---|---|
_tfindfirst |
_findfirst |
_findfirst |
_wfindfirst |
_tfindfirst32 |
_findfirst32 |
_findfirst32 |
_wfindfirst32 |
_tfindfirst64 |
_findfirst64 |
_findfirst64 |
_wfindfirst64 |
_tfindfirsti64 |
_findfirsti64 |
_findfirsti64 |
_wfindfirsti64 |
_tfindfirst32i64 |
_findfirst32i64 |
_findfirst32i64 |
_wfindfirst32i64 |
_tfindfirst64i32 |
_findfirst64i32 |
_findfirst64i32 |
_wfindfirst64i32 |
Wymagania
Funkcja |
Wymaganego nagłówka |
---|---|
_findfirst |
<io.h> |
_findfirst32 |
<io.h> |
_findfirst64 |
<io.h> |
_findfirsti64 |
<io.h> |
_findfirst32i64 |
<io.h> |
_findfirst64i32 |
<io.h> |
_wfindfirst |
<io.h> lub <wchar.h> |
_wfindfirst32 |
<io.h> lub <wchar.h> |
_wfindfirst64 |
<io.h> lub <wchar.h> |
_wfindfirsti64 |
<io.h> lub <wchar.h> |
_wfindfirst32i64 |
<io.h> lub <wchar.h> |
_wfindfirst64i32 |
<io.h> lub <wchar.h> |
Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.
Odpowiednik w programie .NET Framework
System::IO::DirectoryInfo::GetFiles