Share via


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

Localize o próximo nome, se houver, que corresponda ao filespec argumento em uma chamada anterior para _findfirst, e altere o conteúdo da fileinfo estrutura de acordo.

Sintaxe

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
O identificador de pesquisa retornado por uma chamada anterior para _findfirst.

fileinfo
Buffer de informações do arquivo.

Retornar valor

Se for bem-sucedido, retornará 0. Caso contrário, retorna -1 e define errno como um valor que indica a natureza da falha. Os possíveis códigos de erro são mostrados na tabela a seguir.

errno valor Condição
EINVAL Parâmetro inválido: fileinfo era NULL. Ou o sistema operacional retornou um erro inesperado.
ENOENT Não foi possível encontrar mais arquivos correspondentes.
ENOMEM Não há memória suficiente ou o tamanho do nome do arquivo ultrapassou MAX_PATH.

Se um parâmetro inválido for passado, essas funções invocarão o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro.

Comentários

Você deve ligar _findclose depois de terminar de usar a _findfirst função ou (ou _findnext quaisquer variantes). _findclose libera recursos usados por essas funções em seu aplicativo.

As variações dessas funções com o prefixo w são versões de caracteres largos, caso contrário, são idênticas às funções de byte único correspondentes.

Variações dessas funções dão suporte a tipos de hora de 32 ou de 64 bits e a tamanhos de arquivo de 32 ou de 64 bits. O primeiro sufixo numérico (32 ou 64) indica o tamanho do tipo de hora usado; o segundo sufixo é i32 ou i64, que indica se o tamanho do arquivo é representado como um inteiro de 32 ou de 64 bits. Para obter informações sobre quais versões dão suporte a tamanhos de arquivo e tipos de hora de 32 e de 64 bits, consulte a tabela a seguir. As variações que usam um tipo de hora de 64 bits permitem que as datas de criação de arquivos sejam expressas até 23:59:59 de 31 de dezembro de 3000, no horário UTC; enquanto as que usam tipos de hora de 32 bits representam apenas datas até 23:59:59 de 18 de janeiro de 2038, no horário UTC. Meia-noite de 1º de janeiro de 1970 é o limite inferior do intervalo de datas para todas essas funções.

A menos que você tenha um motivo específico para usar as versões que especificam o tamanho da hora explicitamente, use _findnext ou _wfindnext. Se precisar dar suporte a tamanhos de arquivos de mais de 3 GB, use _findnexti64 ou _wfindnexti64. Todas essas funções usam o tipo de hora de 64 bits. Nas versões anteriores, elas usavam um tipo de hora de 32 bits. Se essa alteração for uma alteração de interrupção para um aplicativo, você poderá definir _USE_32BIT_TIME_T para obter o comportamento antigo. Se _USE_32BIT_TIME_T for definido, _findnext, _findnexti64 e suas versões Unicode correspondentes usarão uma hora de 32 bits.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Variações de tipo de hora e tipo de tamanho de arquivo de _findnext

Funções _USE_32BIT_TIME_T definido? Tipo de hora Tipo de tamanho de arquivo
_findnext, _wfindnext Não definido 64 bits 32 bits
_findnext, _wfindnext Definido 32 bits 32 bits
_findnext32, _wfindnext32 Não afetado pela definição de macro 32 bits 32 bits
_findnext64, _wfindnext64 Não afetado pela definição de macro 64 bits 64 bits
_findnexti64, _wfindnexti64 Não definido 64 bits 64 bits
_findnexti64, _wfindnexti64 Definido 32 bits 64 bits
_findnext32i64, _wfindnext32i64 Não afetado pela definição de macro 32 bits 64 bits
_findnext64i32, _wfindnext64i32 Não afetado pela definição de macro 64 bits 32 bits

Mapeamentos de rotina de texto genérico

Rotina Tchar.h _UNICODE e _MBCS não 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

Função Cabeçalho necessário
_findnext <io.h>
_findnext32 <io.h>
_findnext64 <io.h>
_findnexti64 <io.h>
_findnext32i64 <io.h>
_findnext64i32 <io.h>
_wfindnext <io.h> ou <wchar.h>
_wfindnext32 <io.h> ou <wchar.h>
_wfindnext64 <io.h> ou <wchar.h>
_wfindnexti64 <io.h> ou <wchar.h>
_wfindnext32i64 <io.h> ou <wchar.h>
_wfindnext64i32 <io.h> ou <wchar.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Todas as versões das bibliotecas em tempo de execução C.

Confira também

Chamadas do sistema
Funções de pesquisa de nome de arquivo