_findnext, _wfindnext
Localizar o nome do próximo, se houver, que corresponde a filespec argumento em uma chamada anterior a _findfirste altere o fileinfo estruturar adequadamente o conteúdo.
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 pesquisa retornado por uma chamada anterior a _findfirst.fileinfo
Buffer de informações do arquivo.
Valor de retorno
Se for bem sucedida, retornará 0.Caso contrário, retorna – 1 e define errno para um valor que indica a natureza da falha.Possíveis códigos de erro são mostrados na tabela a seguir.
EINVAL
Parâmetro inválido: fileinfo foi NULL.Ou então, o sistema operacional retornou um erro inesperado.ENOENT
Não há mais arquivos correspondentes podem ser encontrados.ENOMEM
Não há memória suficiente ou o comprimento do nome de arquivo que excedeu MAX_PATH.
Se um parâmetro inválido for passado, essas funções chamar o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro.
Comentários
Você deve chamar _findclose depois que terminar de usando o _findfirst ou _findnext função (ou quaisquer variantes).Isso libera recursos usados por essas funções em seu aplicativo.
As variações dessas funções com o w prefixo são versões de caractere largo; Caso contrário, eles são idênticos às funções de byte único correspondentes.
Variações dessas funções oferecem suporte a tipos de tempo de 32 bits ou 64 bits e tamanhos dos arquivos de 32 bits ou 64 bits.O primeiro sufixo numérico (32 ou 64) indica o tamanho do tipo tempo usado; o segundo sufixo é i32 ou i64, indicando se o tamanho do arquivo é representado como um inteiro de 32 bits ou 64 bits.Para obter informações sobre quais versões oferecem suporte tipos de tempo de 32 bits e 64 bits e tamanhos de arquivo, consulte a tabela a seguir.As variações que usam um tipo de tempo de 64 bits permitem que as datas de criação do arquivo a ser expressa até por meio de 23: 59: 59, 31 de dezembro de 3000, UTC; ao passo que aquelas que usam apenas os tipos de tempo de 32 bits representam datas até 19: 14: 07 18 de janeiro de 2038, UTC.Meia-noite, de 1º de janeiro de 1970, é o limite inferior do intervalo de datas para todas essas funções.
A menos que tenha um motivo específico para usar as versões que especifique o tamanho de tempo explicitamente, use _findnext ou _wfindnext ou, se você precisar oferecer suporte a arquivos maiores que 3 GB, use _findnexti64 ou _wfindnexti64.Todas essas funções usam o tipo de tempo de 64 bits.Nas versões anteriores, essas funções usadas de um tipo de tempo de 32 bits.Se esta for uma alteração significativa para um aplicativo, você pode definir _USE_32BIT_TIME_T para obter o comportamento antigo.Se _USE_32BIT_TIME_T for definido, _findnext, _finnexti64 e suas versões correspondentes do Unicode usem um horário de 32 bits.
Tipo de tempo e variações de tipo de tamanho de arquivo de _findnext
Funções |
_USE_32BIT_TIME_Tdefinido? |
Tipo de tempo |
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 é afetada pela definição de macro |
32 bits |
32 bits |
_findnext64, _wfindnext64 |
Não é afetada 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 é afetada pela definição de macro |
32 bits |
64 bits |
_findnext64i32, _wfindnext64i32 |
Não é afetada pela definição de macro |
64 bits |
32 bits |
Mapeamentos de rotina de texto genérico
Rotina de TCHAR.h |
_ Unicode e _ MBCS do arquivo não definido |
_ MBCS do arquivo 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 mais informações de compatibilidade, consulte compatibilidade na introdução.
Bibliotecas
Todas as versões da bibliotecas de tempo de execução c.
Equivalência do .NET Framework
Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.