Share via


_findfirst, _wfindfirst

Stellen Sie Informationen zur ersten Instanz eines Dateinamens bereit, die der 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
    Zieldateispezifikation (kann Platzhalterzeichen einschließen).

  • fileinfo
    Dateiinformationspuffer.

Rückgabewert

Wenn erfolgreich, gibt _findfirst einen eindeutigen Suchenhandle zurück, das die Datei oder die Gruppe aus Dateien angibt, die die filespec - Spezifikation übereinstimmen, die in einem abschließenden Aufruf an _findnext oder _findclose verwendet werden kann. Andernfalls wird _findfirst - 1 zurück und legt errno auf einen der folgenden Werte fest.

  • EINVAL
    Ungültiger Parameter: filespec oder fileinfo festgelegt wäre NULL. Oder, das Betriebssystem hat einen unerwarteten Fehler zurück.

  • ENOENT
    Dateibeschreibung, die nicht gefunden werden konnte.

  • ENOMEM
    Nicht genügend Arbeitsspeicher.

  • EINVAL
    Ungültige Dateinamenangaben oder Dateiname, der angegeben wurde, war größer als MAX_PATH.

Weitere Informationen zu diesen und anderen Rückgabecodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.

Wenn ein ungültiger Parameter übergeben wird, rufen diese Funktionen den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben.

Hinweise

Sie müssen _findclose aufrufen, nachdem Sie entweder mit _findfirst oder _findnext-Funktion beendet wurde (oder alle Varianten). Dies gibt die Ressourcen frei, die durch diese Funktionen in der Anwendung verwendet werden.

Die Variationen dieser Funktionen, die das w - Präfix haben, sind Breitzeichenversionen; andernfalls sind sie zu den entsprechenden Einzelbytefunktionen identisch.

Varianten der 32-Bit- oder 64-Bit-Zeit dieser Funktionen Stützgibt und der 32-Bit- oder 64-Bit-Dateigrößen ein. Das erste numerische Suffix (32 oder 64) gibt die Größe des Zeittyps an; das zweite Suffix ist entweder i32 oder i64 und gibt an, ob die Dateigröße als 32-Bit- oder 64-Bit-ganze Zahl dargestellt wird. Informationen darüber, welche Versionen 32-Bit- und 64-Bit-Zeittypen und -Dateigrößen unterstützen, finden Sie die folgende Tabelle. Das Suffix i32 oder i64 wird weggelassen, wenn sie identisch ist, der die Größe des Zeittyps, sodass _findfirst64 auch 64-Bit-Dateilängen unterstützt und _findfirst32 nur 32-Bit-Dateilängen unterstützt.

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

Die Variationen, die einen 64-Bit-Zeittyp verwenden, aktivieren bis 23:59 die oben angegeben werden können, DateiErstellungsdatumsangaben: 59 3000 am 31. Dezember, UTC. Die, die 32-Bit-Zeittypen verwenden, stellen Datumsangaben nur bis 19:14 dar: Am 7. Januar 18 2038, UTC. Mitternacht am 1. Januar 1970 ist die untere Begrenzung des Zeitraums für alle diese Funktionen.

Sofern, dass Sie einen bestimmten Grund haben, die Versionen verwenden, die der Zeitgröße explizit angeben, wird mit _findfirst oder _wfindfirst oder, wenn Sie Unterstützungsdateigrößen größer als 3 GB benötigen, _findfirsti64 oder _wfindfirsti64. Alle diese Funktionen verwenden den 64-Bit-Zeittyp. In früheren Versionen wurde diese Funktionen einen 32-Bit-Zeittyp. Wenn dies eine Änderung für eine Anwendung ist, können Sie _USE_32BIT_TIME_T, um das alte Verhalten wiederherzustellen. Wenn _USE_32BIT_TIME_T definiert wurde, verwenden _findfirst, _finfirsti64 und ihre entsprechenden Unicode-Versionen eine 32-Bit-Zeit.

Die Zeit Typs fest und fügen Sie Längen-Typ-Variationen von _findfirst

Funktionen

_USE_32BIT_TIME_T definiert?

Zeittyp

Dateilängentyp

_findfirst, _wfindfirst

Nicht definiert

64 Bit

32 Bit

_findfirst, _wfindfirst

Definiert

32 Bit

32 Bit

_findfirst32, _wfindfirst32

Beeinflusst weder von der Makrodefinition

32 Bit

32 Bit

_findfirst64, _wfindfirst64

Beeinflusst weder von der Makrodefinition

64 Bit

64 Bit

_findfirsti64, _wfindfirsti64

Nicht definiert

64 Bit

64 Bit

_findfirsti64, _wfindfirsti64

Definiert

32 Bit

64 Bit

_findfirst32i64, _wfindfirst32i64

Beeinflusst weder von der Makrodefinition

32 Bit

64 Bit

_findfirst64i32, _wfindfirst64i32

Beeinflusst weder von der Makrodefinition

64 Bit

32 Bit

Zuordnung generischer Textroutinen

Tchar.h-Routine

_UNICODE und _MBCS nicht definiert

_MBCS definiert

_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 zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

.NET Framework-Entsprechung

System::IO::DirectoryInfo::GetFiles

Siehe auch

Referenz

Systemaufrufe

_find- und _wfind-Funktionen