Compartir a través de


_findnext, _findnext32, _findnext32i64, _findnext64, _findnext64i32, _findnexti64, _wfindnext, _wfindnext32, _wfindnext32i64, _wfindnext64, _wfindnext64i32, _wfindnexti64

Busque el siguiente nombre, si existe, que coincida con el filespec argumento de una llamada anterior a y, a _findfirstcontinuación, modifique el contenido de la fileinfo estructura en consecuencia.

Sintaxis

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

Parámetros

handle
Identificador de búsqueda devuelto por una llamada anterior a _findfirst.

fileinfo
Búfer de información de archivo.

Valor devuelto

Si la operación se realiza correctamente, devuelve 0. De lo contrario, devuelve -1 y establece en errno un valor que indica la naturaleza del error. En la siguiente tabla se muestran los posibles códigos de error.

Valor de errno Condición
EINVAL Parámetro no válido: fileinfo era NULL. O bien, el sistema operativo ha devuelto un error inesperado.
ENOENT No se han encontrado más archivos coincidentes.
ENOMEM No hay suficiente memoria o la longitud del nombre de archivo supera a MAX_PATH.

Si se pasa un parámetro no válido, estas funciones invocan al controlador de parámetros no válidos, como se describe en Validación de parámetros.

Comentarios

Debe llamar _findclose después de que haya terminado de usar la _findfirst función o _findnext (o cualquier variante). _findclose libera los recursos usados por estas funciones en la aplicación.

Las variaciones de estas funciones con el prefijo w son versiones de caracteres anchos; de lo contrario, son idénticas a las funciones de un solo byte correspondientes.

Las variaciones de estas funciones admiten tipos de tiempo de 32 o 64 bits y tamaños de archivos de 32 o 64 bits. El primer sufijo numérico (32 o 64) indica el tamaño del tipo de tiempo usado; el segundo sufijo es i32 o i64, lo que indica si el tamaño del archivo se representa como un entero de 32 o 64 bits. Para obtener información sobre las versiones que admiten tipos de tiempo y tamaños de archivo de 32 bits y 64 bits, consulte la tabla siguiente. Las variaciones que usan un tipo de tiempo de 64 bits permiten expresar fechas de creación de archivos hasta las 23:59:59 horas del 31 de diciembre de 3000, UTC; mientras que las que usan un tipo de tiempo de 32 bits solo representan fechas hasta las 23:59:59 horas del 18 de enero de 2038, UTC. La medianoche del 1 de enero de 1970 es el límite inferior del intervalo de fechas para todas estas funciones.

A menos que tenga una razón concreta para usar las versiones que especifican el tamaño de tiempo de forma explícita, use _findnext o _wfindnext; si tiene que admitir tamaños de archivo de más de 3 GB, use _findnexti64 o _wfindnexti64. Todas estas funciones usan el tipo de tiempo de 64 bits. En versiones anteriores, estas funciones usan un tipo de tiempo de 32 bits. Si este cambio es un cambio importante para una aplicación, puede definir _USE_32BIT_TIME_T para obtener el comportamiento anterior. Si se define _USE_32BIT_TIME_T, _findnext, _findnexti64 y sus correspondientes versiones Unicode usan un tiempo de 32 bits.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Variaciones de tipo de tiempo y tipo de longitud de archivo de _findnext

Functions ¿Se ha definido _USE_32BIT_TIME_T? Tipo de tiempo Tipo de longitud de archivo
_findnext, _wfindnext No definida 64 bits 32 bits
_findnext, _wfindnext Definido 32 bits 32 bits
_findnext32, _wfindnext32 No se ve afectada por la definición de macro 32 bits 32 bits
_findnext64, _wfindnext64 No se ve afectada por la definición de macro 64 bits 64 bits
_findnexti64, _wfindnexti64 No definida 64 bits 64 bits
_findnexti64, _wfindnexti64 Definido 32 bits 64 bits
_findnext32i64, _wfindnext32i64 No se ve afectada por la definición de macro 32 bits 64 bits
_findnext64i32, _wfindnext64i32 No se ve afectada por la definición de macro 64 bits 32 bits

Asignaciones de rutinas de texto genérico

Rutina Tchar.h _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tfindnext _findnext _findnext _wfindnext
_tfindnext32 _findnext32 _findnext32 _wfindnext32
_tfindnext64 _findnext64 _findnext64 _wfindnext64
_tfindnexti64 _findnexti64 _findnexti64 _wfindnexti64
_tfindnext32i64 _findnext32i64 _findnext32i64 _wfindnext32i64
_tfindnext64i32 _findnext64i32 _findnext64i32 _wfindnext64i32

Requisitos

Función Encabezado necesario
_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>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Bibliotecas

Todas las versiones de las bibliotecas en tiempo de ejecución de C.

Consulte también

Llamadas del sistema
Funciones de búsqueda de nombre de archivo