_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