_findnext, _findnext32, , _findnext32i64, _findnext64, _findnexti64_findnext64i32, _wfindnext, _wfindnext32, , _wfindnext32i64, _wfindnext64, , _wfindnext64i32_wfindnexti64

Suchen Sie ggf. den nächsten Namen, der dem filespec Argument in einem vorherigen Aufruf _findfirstentspricht, und ändern Sie dann den fileinfo Strukturinhalt entsprechend.

Syntax

int _findnext(
   intptr_t handle,
   struct _finddata_t *fileinfo
);
int _findnext32(
   intptr_t handle,
   struct _finddata32_t *fileinfo
);
int _findnext64(
   intptr_t handle,
   struct __finddata64_t *fileinfo
);
int _findnexti64(
   intptr_t handle,
   struct __finddatai64_t *fileinfo
);
int _findnext32i64(
   intptr_t handle,
   struct _finddata32i64_t *fileinfo
);
int _findnext64i32(
   intptr_t handle,
   struct _finddata64i32_t *fileinfo
);
int _wfindnext(
   intptr_t handle,
   struct _wfinddata_t *fileinfo
);
int _wfindnext32(
   intptr_t handle,
   struct _wfinddata32_t *fileinfo
);
int _wfindnext64(
   intptr_t handle,
   struct _wfinddata64_t *fileinfo
);
int _wfindnexti64(
   intptr_t handle,
   struct _wfinddatai64_t *fileinfo
);
int _wfindnext32i64(
   intptr_t handle,
   struct _wfinddatai64_t *fileinfo
);
int _wfindnext64i32(
   intptr_t handle,
   struct _wfinddata64i32_t *fileinfo
);

Parameter

handle
Der Suchhandle, der von einem vorherigen Aufruf _findfirstzurückgegeben wird.

fileinfo
Puffer für Dateiinformationen.

Rückgabewert

gibt bei Erfolg 0 zurück. Andernfalls wird -1 zurückgegeben und auf einen Wert festgelegt errno , der die Art des Fehlers angibt. Mögliche Fehlercodes werden in der folgenden Tabelle dargestellt.

Wert vom Typ errno Bedingung
EINVAL Ungültiger Parameter: fileinfo entsprach NULL, oder das Betriebssystem hat einen unerwarteten Fehler zurückgegeben.
ENOENT Es konnten keine übereinstimmenden Dateien gefunden werden.
ENOMEM Nicht genügend Arbeitsspeicher oder der Dateiname ist größer als MAX_PATH.

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

Hinweise

Sie müssen aufrufen _findclose , nachdem Sie die Verwendung der _findfirst Funktion oder _findnext der Funktion (oder beliebige Varianten) abgeschlossen haben. _findclose gibt Ressourcen frei, die von diesen Funktionen in Ihrer Anwendung verwendet werden.

Die Variationen dieser Funktionen mit dem Präfix "w " sind Breitzeichenversionen. Andernfalls sind sie identisch mit den entsprechenden Einzelbytefunktionen.

Varianten dieser Funktionen unterstützen 32-Bit- oder 64-Bit-Zeittypen und 32-Bit- oder 64-Bit-Dateigrößen. Das erste numerische Suffix (32 oder 64) gibt die Größe des verwendeten Zeittyps an; das zweite Suffix ist entweder i32 oder i64und gibt an, ob die Dateigröße als ganze Zahl mit 32 Bit oder 64 Bit dargestellt ist. Informationen darüber, welche Versionen 32-Bit- und 64-Bit-Zeittypen und -Dateigrößen unterstützen, finden Sie in der folgenden Tabelle. In Varianten, die einen 64-Bit-Zeittyp verwenden, kann das Erstellungsdatum der Datei bis 23:59:59 am 31. Dezember 3000 (UTC) ausgedrückt werden. Die Varianten, die 32-Bit-Zeittypen verwenden, stellen Datumsangaben nur bis 23:59:59 am 18. Januar 2038 (UTC) dar. Der 1. Januar 1970 (Mitternacht) ist der älteste mögliche Datumsbereich für all diese Funktionen.

Verwenden Sie _findnext oder _wfindnext, oder _findnexti64 oder _wfindnexti64, wenn Sie Dateigrößen von mehr als 3 GB unterstützen müssen, es sei denn, Sie haben einen bestimmten Grund für die Verwendung der Versionen, die die Zeitgröße explizit angeben. All diese Funktionen verwenden den 64-Bit-Zeittyp. In früheren Versionen verwendeten diese Funktionen einen 32-Bit-Zeittyp. Wenn diese Änderung eine bahnbrechende Änderung für eine Anwendung ist, können Sie definieren _USE_32BIT_TIME_T , um das alte Verhalten zu erhalten. Wenn _USE_32BIT_TIME_T definiert ist, verwenden _findnext und _findnexti64 und die entsprechenden Unicode-Versionen verwenden einen 32-Bit-Zeittyp.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

_findnext-Varianten des Uhrzeittyps und Dateilängentyps

Functions Ist _USE_32BIT_TIME_T definiert? Uhrzeittyp Dateilängentyp
_findnext, _wfindnext Nicht definiert 64-Bit 32-Bit
_findnext, _wfindnext Definiert 32 Bit 32 Bit
_findnext32, _wfindnext32 Nicht von der Makrodefinition betroffen 32 Bit 32 Bit
_findnext64, _wfindnext64 Nicht von der Makrodefinition betroffen 64 Bit 64 Bit
_findnexti64, _wfindnexti64 Nicht definiert 64 Bit 64 Bit
_findnexti64, _wfindnexti64 Definiert 32-Bit 64-Bit
_findnext32i64, _wfindnext32i64 Nicht von der Makrodefinition betroffen 32-Bit 64-Bit
_findnext64i32, _wfindnext64i32 Nicht von der Makrodefinition betroffen 64-Bit 32-Bit

Mapping generischer Textroutinen

Tchar.h-Routine _UNICODE und _MBCS nicht definiert _MBCS definiert _UNICODE definiert
_tfindnext _findnext _findnext _wfindnext
_tfindnext32 _findnext32 _findnext32 _wfindnext32
_tfindnext64 _findnext64 _findnext64 _wfindnext64
_tfindnexti64 _findnexti64 _findnexti64 _wfindnexti64
_tfindnext32i64 _findnext32i64 _findnext32i64 _wfindnext32i64
_tfindnext64i32 _findnext64i32 _findnext64i32 _wfindnext64i32

Anforderungen

Funktion Erforderlicher Header
_findnext <io.h>
_findnext32 <io.h>
_findnext64 <io.h>
_findnexti64 <io.h>
_findnext32i64 <io.h>
_findnext64i32 <io.h>
_wfindnext <io.h> oder <wchar.h>
_wfindnext32 <io.h> oder <wchar.h>
_wfindnext64 <io.h> oder <wchar.h>
_wfindnexti64 <io.h> oder <wchar.h>
_wfindnext32i64 <io.h> oder <wchar.h>
_wfindnext64i32 <io.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Libraries

Alle Versionen der C-Laufzeitbibliotheken.

Siehe auch

Systemaufrufe
Suchfunktionen für Dateinamen