_findnext
, _findnext32
, _findnext32i64
, _findnext64
, _findnext64i32
_wfindnext32i64
_findnexti64
_wfindnext64i32
_wfindnext
_wfindnext32
_wfindnext64
,_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.
Valor retornado
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âmetro inválido, conforme descrito em Validação de parâmetro.
Comentários
Você deve chamar _findclose
depois de terminar de usar a _findfirst
função ou _findnext
(ou qualquer variante). _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, elas 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 significativa 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, confira Estado global no 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.