Freigeben über


_findfirst, _wfindfirst

Stellen Sie Informationen über die erste Instanz eines Dateinamens bereit, mit der die Datei entspricht, die im filespec-Argument angegeben wird.

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

Parameter

  • filespec
    Zieldatei (das heißt sie können Platzhalterzeichen einschließen).

  • fileinfo
    Dateiinformationens Puffer.

Rückgabewert

Bei Erfolg gibt _findfirst ein eindeutiges Suche behandeln zurück, das die Datei oder die Gruppe von Dateien angibt, die die filespec Spezifikation entsprechen, die in einem nachfolgenden Aufruf _findnext oder _findcloseverwendet werden kann.Andernfalls wird _findfirst 1 zurück und legt errno auf einen der folgenden Werte fest.

  • EINVAL
    Ungültiger Parameter: filespec oder fileinfo waren NULL.Oder das Betriebssystem hat einen unerwarteten Fehler zurück.

  • ENOENT
    Dateibeschreibung, die nicht erfüllt werden konnte.

  • ENOMEM
    Unzulänglicher Arbeitsspeicher.

  • EINVAL
    Ungültige Dateinamen der Spezifikation oder Dateiname angegeben ist, war größer als MAX_PATH.

Weitere Informationen über diese und andere Rückgabecodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.

Wenn ein ungültiger Parameter übergeben wird, wird diese Funktionen der ungültige Parameter für ein, wie in Parametervalidierungbeschrieben.

Hinweise

Sie müssen _findclose aufrufen, nachdem Sie entweder mit _findfirst oder _findnext-Funktion beendet wurden (oder alle Varianten).Gibt die Ressourcen frei, die von diesen Funktionen in der Anwendung verwendet werden.

Die Variationen dieser Features, die das w Präfix haben, sind Breitzeichenversionen. Andernfalls sind sie ein Byte an die entsprechenden Funktionen identisch.

Variationen dieser Funktion stütz32-bit- oder 64 bit-Zeit Typen und 32-Bit- oder 64-Bit-Dateigrößen.Im ersten numerischen Suffix (32 oder 64) gibt die Größe des Typs Zeit angegeben. Das zweite i32 oder Suffix ist entweder i64und gibt an, ob die Dateigröße als 32-Bit- oder 64-Bit-ganze Zahl dargestellt wird.Weitere Informationen darüber, welche Versionen 64-Bit-Zeit 32-Bit- und Typen und Dateigrößen unterstützen, finden Sie unter in der folgenden Tabelle.Das i32 oder i64 Suffix wird weggelassen, wenn sie identisch ist, der die Größe des Typs Zeit, sodass _findfirst64 64-Bit-Datei der Dimension unterstützt und auch nur _findfirst32 32-Bit-Datei der Dimension unterstützt.

Diese Funktionen verwenden unterschiedliche Formen der _finddata_t Struktur für den fileinfo-Parameter.Weitere Informationen zur Struktur finden Sie unter _find, _wfind Funktionen.

Die Variationen, die einen Typ verwenden, 64-Bit-Zeit Aktivieren von 23:59 oben ausgedrückt werden: Datumsangaben Build FILE59 3000 am 31. Dezember, UTC.Die, die 32-Bit-Zeit Typen verwenden, stellen nur Datumsangaben und 19:14: Am 7. Januar 18 2038, UTC.Mitternacht am 1. Januar 1970 ist die Untergrenze des Datumsbereichs für alle diese Features.

Sofern Sie keinen bestimmten Grund auch zu verwenden, die die Größe der Zeit explizit angeben, verwendet _findfirst oder _wfindfirst verwenden, oder wenn Sie die Unterstützungsdatei dateigrößen benötigen, die größer als 3 GB sind, _findfirsti64 oder _wfindfirsti64.Alle diese Funktionen verwenden den Typ der 64-Bit-Zeit.In früheren Versionen wurden diese Funktionen 32-Bit-Zeit einen Typ.Wenn dies eine Änderung für eine Anwendung ist, so definiert werden _USE_32BIT_TIME_T Sie den alten Verhaltens wiederherzustellen.Wenn _USE_32BIT_TIME_T definiert ist, verwenden _findfirst, _finfirsti64und ihre entsprechenden Unicode-Versionen einer 32-Bit-Zeit.

Legen Sie die Uhrzeit fest _findfirst von Datei-Längen-Typ-Variationen Typ-und

Funktionen

_USE_32BIT_TIME_T definierte?

Typ der Uhrzeit

Typ der Dimension Datei

_findfirst, _wfindfirst

Nicht definiert

64 Bit

32-Bit

_findfirst, _wfindfirst

Definiert

32-Bit

32-Bit

_findfirst32, _wfindfirst32

Keine Auswirkung von der Makrodefinition

32-Bit

32-Bit

_findfirst64, _wfindfirst64

Keine Auswirkung von der Makrodefinition

64 Bit

64 Bit

_findfirsti64, _wfindfirsti64

Nicht definiert

64 Bit

64 Bit

_findfirsti64, _wfindfirsti64

Definiert

32-Bit

64 Bit

_findfirst32i64, _wfindfirst32i64

Keine Auswirkung von der Makrodefinition

32-Bit

64 Bit

_findfirst64i32, _wfindfirst64i32

Keine Auswirkung von der Makrodefinition

64 Bit

32-Bit

Zuweisung generischer Textroutinen

Tchar.h-Routine

_UNICODE als auch _MBCS nicht definiert

_MBCS definieren

_UNICODE definiert

_tfindfirst

_findfirst

_findfirst

_wfindfirst

_tfindfirst32

_findfirst32

_findfirst32

_wfindfirst32

_tfindfirst64

_findfirst64

_findfirst64

_wfindfirst64

_tfindfirsti64

_findfirsti64

_findfirsti64

_wfindfirsti64

_tfindfirst32i64

_findfirst32i64

_findfirst32i64

_wfindfirst32i64

_tfindfirst64i32

_findfirst64i32

_findfirst64i32

_wfindfirst64i32

Anforderungen

Funktion

Erforderlicher Header

_findfirst

<io.h>

_findfirst32

<io.h>

_findfirst64

<io.h>

_findfirsti64

<io.h>

_findfirst32i64

<io.h>

_findfirst64i32

<io.h>

_wfindfirst

<io.h> oder <wchar.h>

_wfindfirst32

<io.h> oder <wchar.h>

_wfindfirst64

<io.h> oder <wchar.h>

_wfindfirsti64

<io.h> oder <wchar.h>

_wfindfirst32i64

<io.h> oder <wchar.h>

_wfindfirst64i32

<io.h> oder <wchar.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

.NET Framework-Entsprechung

System::EA::DirectoryInfo::GetFiles

Siehe auch

Referenz

Systemaufrufe

_find, _wfind Funktionen