Condividi tramite


_findnext, _findnext32, , _findnext64_findnext64i32, _findnexti64, _wfindnext_wfindnext32i64_wfindnext32, , _wfindnext64i32_wfindnext64_findnext32i64_wfindnexti64

Trovare il nome successivo, se presente, che corrisponde all'argomento filespec in una chiamata precedente a _findfirste quindi modificare di conseguenza il contenuto della fileinfo struttura.

Sintassi

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

Parametri

handle
Handle di ricerca restituito da una chiamata precedente a _findfirst.

fileinfo
Buffer delle informazioni del file.

Valore restituito

Se l'esito è positivo, restituisce 0. In caso contrario, restituisce -1 e imposta errno su un valore che indica la natura dell'errore. Nella tabella seguente vengono illustrati i codici di errore possibili.

Valore errno Condizione
EINVAL Parametro non valido: fileinfo era NULL oppure il sistema operativo ha restituito un errore imprevisto.
ENOENT Non è stato possibile trovare altri file corrispondenti.
ENOMEM Memoria insufficiente o lunghezza del nome file maggiore di MAX_PATH.

Se viene passato un parametro non valido, queste funzioni richiamano il gestore di parametri non validi, come descritto in Convalida dei parametri.

Osservazioni:

È necessario chiamare _findclose dopo aver completato l'uso della _findfirst funzione o _findnext (o di qualsiasi variante). _findclose libera le risorse usate da queste funzioni nell'applicazione.

Le varianti di queste funzioni con il prefisso w sono versioni a caratteri wide; in caso contrario, sono identiche alle funzioni a byte singolo corrispondenti.

Le varianti di queste funzioni supportano tipi time a 32 o 64 bit e dimensioni di file a 32 o a 64 bit. Il primo suffisso numerico (32 o 64) indica le dimensioni del tipo time usato; il secondo suffisso è i32 o i64, che indica se le dimensioni del file sono rappresentate come intero a 32 bit o 64 bit. Per informazioni su quali versioni supportano tipi time e dimensioni dei file a 32 bit e 64 bit, vedere la tabella seguente. Le varianti che usano un tipo time a 64 bit consentono di esprimere date di creazione di file fino alle 23.59.59 del 31 dicembre 3000 UTC, mentre quelle che usano solo tipi time a 32 bit consentono di rappresentare solo date fino alle 23.59.59 del 18 gennaio 2038 UTC. La mezzanotte del 1 gennaio 1970 è il limite inferiore dell'intervallo di date per tutte queste funzioni.

A meno che non ci sia un motivo preciso per usare le versioni che specificano la dimensione time in modo esplicito, usare _findnext o _wfindnext oppure, se è necessario supportare dimensioni maggiori di 3 GB, usare _findnexti64 o _wfindnexti64. Tutte queste funzioni usano il tipo time a 64 bit. Nelle versioni precedenti queste funzioni usavano un tipo time a 32 bit. Se questa modifica è una modifica che causa un'interruzione per un'applicazione, è possibile definire _USE_32BIT_TIME_T per ottenere il comportamento precedente. Se è definito _USE_32BIT_TIME_T, _findnext, _findnexti64 e le corrispondenti versioni Unicode usano un tipo time a 32 bit.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Varianti di _findnext per il tipo time e di lunghezza dei file

Funzioni _USE_32BIT_TIME_T definito? Tipo Time Tipo lunghezza file
_findnext, _wfindnext Non definito 64 bit 32 bit
_findnext, _wfindnext Definito 32 bit 32 bit
_findnext32, _wfindnext32 Non interessato dalla definizione macro 32 bit 32 bit
_findnext64, _wfindnext64 Non interessato dalla definizione macro 64 bit 64 bit
_findnexti64, _wfindnexti64 Non definito 64 bit 64 bit
_findnexti64, _wfindnexti64 Definito 32 bit 64 bit
_findnext32i64, _wfindnext32i64 Non interessato dalla definizione macro 32 bit 64 bit
_findnext64i32, _wfindnext64i32 Non interessato dalla definizione macro 64 bit 32 bit

Mapping di routine di testo generico

Routine Tchar.h _UNICODE e _MBCS non definito _MBCS definito _UNICODE definito
_tfindnext _findnext _findnext _wfindnext
_tfindnext32 _findnext32 _findnext32 _wfindnext32
_tfindnext64 _findnext64 _findnext64 _wfindnext64
_tfindnexti64 _findnexti64 _findnexti64 _wfindnexti64
_tfindnext32i64 _findnext32i64 _findnext32i64 _wfindnext32i64
_tfindnext64i32 _findnext64i32 _findnext64i32 _wfindnext64i32

Requisiti

Funzione Intestazione obbligatoria
_findnext <io.h>
_findnext32 <io.h>
_findnext64 <io.h>
_findnexti64 <io.h>
_findnext32i64 <io.h>
_findnext64i32 <io.h>
_wfindnext <io.h> o <wchar.h>
_wfindnext32 <io.h> o <wchar.h>
_wfindnext64 <io.h> o <wchar.h>
_wfindnexti64 <io.h> o <wchar.h>
_wfindnext32i64 <io.h> o <wchar.h>
_wfindnext64i32 <io.h> o <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Librerie

Tutte le versioni delle librerie di runtime C.

Vedi anche

Chiamate di sistema
Funzioni di ricerca di nomi file