Compartilhar via


_findfirst, _wfindfirst

Fornecer informações sobre a primeira instância de um nome de arquivo que o arquivo especificado em a correspondefilespec argumento.

intptr_t _findfirst(
   const char *filespec,
   struct _finddata_t *fileinfo 
);
intptr_t _findfirst32(
   const char *filespec,
   struct _finddata32_t *fileinfo 
);
intptr_t _findfirst64(
   const char *filespec,
   struct _finddata64_t *fileinfo 
);
intptr_t _findfirsti64(
   const char *filespec,
   struct _finddatai64_t *fileinfo 
);
intptr_t _findfirst32i64(
   const char *filespec,
   struct _finddata32i64_t *fileinfo 
);
intptr_t _findfirst64i32(
   const char *filespec,
   struct _finddata64i32_t *fileinfo 
);
intptr_t _wfindfirst(
   const wchar_t *filespec,
   struct _wfinddata_t *fileinfo 
);
intptr_t _wfindfirst32(
   const wchar_t *filespec,
   struct _wfinddata32_t *fileinfo 
);
intptr_t _wfindfirst64(
   const wchar_t *filespec,
   struct _wfinddata64_t *fileinfo 
);
intptr_t _wfindfirsti64(
   const wchar_t *filespec,
   struct _wfinddatai64_t *fileinfo 
);
intptr_t _wfindfirst32i64(
   const wchar_t *filespec,
   struct _wfinddata32i64_t *fileinfo 
);
intptr_t _wfindfirst64i32(
   const wchar_t *filespec,
   struct _wfinddata64i32_t *fileinfo 
);

Parâmetros

  • filespec
    Especificação de arquivo de destino (pode incluir caracteres curinga).

  • fileinfo
    Buffer de informações do arquivo.

Valor de retorno

Se for bem-sucedido, _findfirst Retorna um identificador de Pesquisar exclusiva identificando o arquivo ou agrupar de arquivos que correspondam a filespec especificação, que pode ser usada em uma telefonar subseqüente para _findnext or to _findclose. Caso contrário, _findfirst Retorna – 1 e define errno um dos seguintes valores.

  • EINVAL
    Parâmetro inválido: filespec ou fileinfo foi NULL. Ou, o sistema operacional retornou um erro inesperado.

  • ENOENT
    Especificação de arquivo não pôde ser correspondida.

  • ENOMEM
    Memória insuficiente.

  • EINVAL
    Especificação do nome de arquivo inválido ou nome de arquivo fornecido era maior que MAX_PATH.

Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist e _sys_nerr.

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 são terminar com um a _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 que têm o w prefixo são versões de caractere largo; caso contrário, elas são idênticas às funções correspondentes do byte único.

Variações dessas funções oferecem suporte a tipos de time de 32 bit ou 64 bit e tamanhos dos arquivos de 32 bit ou 64 bit.O primeiro sufixo numérico (32 ou 64) indica o dimensionar do tipo time; o segundo sufixo é i32 ou i64e indica se o dimensionar do arquivo é representado sistema autônomo um inteiro de 32 bit ou 64 bit. Para obter informações sobre quais versões oferecem suporte time de 32 bit e 64 bit tipos e tamanhos de arquivo, consulte a tabela a seguir.The i32 ou i64 sufixo é omitido se for o mesmo sistema autônomo dimensionar do tipo time, portanto, _findfirst64 também oferece suporte a dimensionars de arquivo de 64 bit e _findfirst32 oferece suporte a dimensionars de arquivos de 32 bit somente.

Essas funções usarem várias formas do _finddata_t estrutura para o fileinfo parâmetro. Para obter mais informações sobre a estrutura, consulte _find, _wfind funções.

Datas de criação do arquivo a ser expressa até a 23: 59: 59, 31 de dezembro de 3000, UTC permitem que as variações que usam um tipo de time de 64 bit.Aqueles que usam tipos de 32 bit time representam datas somente até 19: 14: 07 18 º de janeiro de 2038, UTC.Meia-noite, 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 especificar explicitamente o dimensionar do time, use _findfirst ou _wfindfirst ou, se você precisar oferecer suporte a tamanhos de arquivo maiores que 3 GB, use _findfirsti64 ou _wfindfirsti64. Todas essas funções usam o tipo de time de 64 bit em Visual C++ 2005. Em versões anteriores, essas funções usadas um tipo de time de 32 bit.Se esta for uma alterar significativa para um aplicativo, você pode definir _USE_32BIT_TIME_T Para reverter para o comportamento antigo. If _USE_32BIT_TIME_T é definido, _findfirst, _finfirsti64, e suas versões correspondentes do Unicode usam um time de 32 bit.

Tipo de time e arquivo length tipo variações de _findfirst

Funções

_USE_32BIT_TIME_T definido?

Tipo de time

Tipo de tamanho de arquivo

_findfirst, _wfindfirst

Não definido

64 bit

32 bit

_findfirst, _wfindfirst

Definido

32 bit

32 bit

_findfirst32, _wfindfirst32

Não afetada pela definição de macro

32 bit

32 bit

_findfirst64, _wfindfirst64

Não afetada pela definição de macro

64 bit

64 bit

_findfirsti64, _wfindfirsti64

Não definido

64 bit

64 bit

_findfirsti64, _wfindfirsti64

Definido

32 bit

64 bit

_findfirst32i64, _wfindfirst32i64

Não afetada pela definição de macro

32 bit

64 bit

_findfirst64i32, _wfindfirst64i32

Não afetada pela definição de macro

64 bit

32 bit

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tfindfirst

_findfirst

_findfirst

_wfindfirst

_tfindfirst32

_findfirst32

_findfirst32

_wfindfirst32

_tfindfirst64

_findfirst64

_findfirst64

_wfindfirst64

_tfindfirsti64

_findfirsti64

_findfirsti64

_wfindfirsti64

_tfindfirst32i64

_findfirst32i64

_findfirst32i64

_wfindfirst32i64

_tfindfirst64i32

_findfirst64i32

_findfirst64i32

_wfindfirst64i32

Requisitos

Função

Cabeçalho necessário

_findfirst

<io.h>

_findfirst32

<io.h>

_findfirst64

<io.h>

_findfirsti64

<io.h>

_findfirst32i64

<io.h>

_findfirst64i32

<io.h>

_wfindfirst

<io.h> ou <wchar.h>

_wfindfirst32

<io.h> ou <wchar.h>

_wfindfirst64

<io.h> ou <wchar.h>

_wfindfirsti64

<io.h> ou <wchar.h>

_wfindfirst32i64

<io.h> ou <wchar.h>

_wfindfirst64i32

<io.h> ou <wchar.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Equivalente do NET Framework

sistema::IO::DirectoryInfo::GetFiles

Consulte também

Referência

Chamadas do sistema

_find, _wfind funções