Condividi tramite


_findnext, _wfindnext

Cercare il nome seguente, se presente, che corrispondono all'argomento di filespec in una chiamata precedente a _findfirst, quindi modificare di conseguenza il contenuto della struttura fileinfo.

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
    Individuare il punto di controllo restituito da una chiamata precedente a _findfirst.

  • fileinfo
    Buffer di informazioni sui file.

Valore restituito

Restituisce 0 in caso di esito positivo. In caso contrario, restituisce –1 ed imposta errno ad un valore che indica la natura dell'errore. I codici di errore possibili sono riportati nella tabella seguente.

  • EINVAL
    Parametro non valido: fileinfo era NULL. Oppure, il sistema operativo ha restituito un errore imprevisto.

  • ENOENT
    Non è stato trovato alcun file corrispondente.

  • ENOMEM
    Memoria insufficiente oppure è stata superata la lunghezza del nome del file MAX_PATH.

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

Note

È necessario chiamare _findclose dopo che si è finito di utilizzare la funzione _findfirst o _findnext (o una loro variante qualsiasi). Ciò libera le risorse utilizzate da queste funzioni nell'applicazione.

Le variazioni di queste funzioni con il prefisso w sono versioni a caratteri wide; altrimenti, sono identiche alle funzioni a byte singolo corrispondenti.

Le variazioni di queste funzioni supportano i tipi di data e ora e dimensioni di file a 32 o 64 bit. Il primo suffisso numerico (32 o 64) indica la dimensione del tipo time utilizzato; il secondo suffisso è i32 o i64, che indica se le dimensioni del file sono rappresentate con un Integer a 32 o a 64bit. Per informazioni su quali versioni supportano i tipi di data e ora e dimensioni di file a 32 e 64 bit, vedere la tabella seguente. Le variazioni che utilizzano un tipo di data e ora a 64 bit, permettono la creazione di file di data che possono rappresentare fino alle 23:59:59 del 31 Dicembre 3000, UTC; mentre quelli che utilizzano tipi di data e ora a 32 bit possono rappresentano solo le date fino alle 19:14:07 del 18 Gennaio 2038, UTC. Per tutte queste funzioni, la mezzanotte, del 1° gennaio 1970, è il limite inferiore dell'intervallo di date.

A meno che non si disponga di un motivo specifico per utilizzare le versioni che specificano le dimensioni di tempo in modo esplicito, utilizzare _findnext o _wfindnext o, se è necessario supportare file di dimensioni maggiori di 3 GB, utilizzare _findnexti64 o _wfindnexti64. Tutte queste funzioni utilizzano il tipo di data e ora a 64 bit. Nelle versioni precedenti, queste funzioni utilizzavano un tipo di data e ora a 32 bit. Se si tratta di una modifica sostanziale per un'applicazione, è possibile definire _USE_32BIT_TIME_T per ottenere il comportamento precedente. Se _USE_32BIT_TIME_T è definito, _findnext, _finnexti64 e le versioni corrispondenti Unicode utilizzano una rappresentazione di data e ora a 32 bit.

Le variazioni del tipo di data ed ora ed il tipo di lunghezza del file di _findnext

Funzioni

_USE_32BIT_TIME_T è definito?

Tipo time

Tipo di lunghezza del file

_findnext, _wfindnext

Non definito

64 bit

32 bit

_findnext, _wfindnext

definito

32 bit

32 bit

_findnext32, _wfindnext32

Non dipende dalla definizione macro

32 bit

32 bit

_findnext64, _wfindnext64

Non dipende 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 dipende dalla definizione macro

32 bit

64 bit

_findnext64i32, _wfindnext64i32

Non dipende dalla definizione macro

64 bit

32 bit

Mapping di routine di testo generico

Routine Tchar.h

_UNICODE e _MBCS non definiti

_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 ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Librerie

Tutte le versioni delle Librerie di runtime C.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.

Vedere anche

Riferimenti

Chiamate di sistema

Funzioni _find, _wfind