_findfirst
, , _findfirst32
, _findfirst64
, , _findfirsti64
_wfindfirst64
_wfindfirst64i32
_wfindfirst
_wfindfirst32i64
_wfindfirst32
_findfirst64i32
_findfirst32i64
_wfindfirsti64
Fournissent des informations sur la première instance d’un nom de fichier correspondant au fichier spécifié dans l’argument filespec
.
Syntaxe
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
);
Paramètres
filespec
Spécification du fichier cible (peut inclure des caractères génériques).
fileinfo
Mémoire tampon des informations du fichier. Pour plus d’informations sur les fileinfo
structs, consultez les remarques dans les fonctions de recherche de nom de fichier et consultez mappages de types de données. Les structs sont définis dans le même fichier d’en-tête que la fonction qui les utilise comme paramètre.
Valeur retournée
En cas de réussite, _findfirst
retourne un handle de recherche unique identifiant le fichier ou le groupe de fichiers qui correspondent à la filespec
spécification, qui peut être utilisé dans un appel ultérieur vers _findnext
ou vers _findclose
. Sinon, _findfirst
retourne -1 et définit errno
l’une des valeurs suivantes.
Valeur de la variable errno | Condition |
---|---|
EINVAL |
Paramètre non valide : filespec ou fileinfo était NULL . Ou bien, le système d’exploitation a retourné une erreur inattendue. |
ENOENT |
Spécification de fichier qui n’a pas pu être mis en correspondance. |
ENOMEM |
Mémoire insuffisante. |
EINVAL |
Spécification de nom de fichier non valide, ou le nom de fichier donné était plus long que MAX_PATH . |
Pour plus d’informations sur ces codes de retour et d’autres codes de retour, consultez , , _sys_errlist
_doserrno
et _sys_nerr
.errno
Si un paramètre non valide est passé, ces fonctions appellent le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres.
Notes
Vous devez appeler une fois l’appel _findclose
terminé avec la ou la _findnext
_findfirst
fonction (ou toutes les variantes) fournies à l’appel pour _findfirst
réussir. _findclose
libère les ressources utilisées par ces fonctions dans votre application. L’appel _findclose
sur un handle non valide retourne -1
et définit la valeur errno
EINVAL
.
Les variantes de ces fonctions qui ont le w
préfixe sont des versions à caractères larges ; sinon, elles sont identiques aux fonctions monooctets correspondantes.
Les variantes de ces fonctions prennent en charge les types d’heures 32 bits ou 64 bits, ainsi que les tailles de fichiers 32 bits ou 64 bits. Le premier suffixe numérique (32
ou 64
) indique la taille du type d’heure ; le deuxième suffixe est i32
ou i64
, et indique si la taille du fichier est représentée comme un entier 32 bits ou 64 bits. Pour plus d’informations sur les versions qui prennent en charge les tailles de fichiers et les types d’heures 32 bits et 64 bits, consultez le tableau suivant. Le i32
ou i64
le suffixe est omis s’il est identique à la taille du type de temps, il _findfirst64
prend également en charge les longueurs de fichier 64 bits et _findfirst32
prend uniquement en charge les longueurs de fichier 32 bits.
Ces fonctions utilisent différentes formes de la structure _finddata_t
pour le paramètre fileinfo
. Pour plus d’informations sur la structure, consultez les fonctions de recherche de nom de fichier.
Les variantes qui utilisent un type d’heure 64 bits permettent d’exprimer les dates de création de fichiers jusqu’au 31 décembre 3000 à 23:59:59, heure UTC. Ceux qui utilisent des types de temps 32 bits représentent uniquement les dates jusqu’à 23:59:59 janvier 18, 2038, UTC. Le 1er janvier 1970 à minuit est la limite inférieure de la plage de dates pour toutes ces fonctions.
Sauf si vous devez absolument utiliser les versions qui spécifient de manière explicite la taille de l’heure, utilisez _findfirst
ou _wfindfirst
ou, si vous avez besoin de prendre en charge des tailles de fichier supérieures à 3 Go, utilisez _findfirsti64
ou _wfindfirsti64
. Toutes ces fonctions utilisent le type d’heure 64 bits. Dans les versions antérieures, ces fonctions utilisaient un type d’heure 32 bits. Si cette modification est une modification cassant pour une application, vous pouvez définir _USE_32BIT_TIME_T
pour revenir à l’ancien comportement. Si _USE_32BIT_TIME_T
est défini, _findfirst
, _findfirsti64
et les versions Unicode correspondantes utilisent une heure 32 bits.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Variantes de type d’heure et de type de longueur de fichier de _findfirst
Functions | _USE_32BIT_TIME_T défini ? |
Type de temps | Type de longueur de fichier |
---|---|---|---|
_findfirst , _wfindfirst |
Non défini | 64 bits | 32 bits |
_findfirst , _wfindfirst |
Défini | 32 bits | 32 bits |
_findfirst32 , _wfindfirst32 |
Non affecté par la définition de macro | 32 bits | 32 bits |
_findfirst64 , _wfindfirst64 |
Non affecté par la définition de macro | 64 bits | 64 bits |
_findfirsti64 , _wfindfirsti64 |
Non défini | 64 bits | 64 bits |
_findfirsti64 , _wfindfirsti64 |
Défini | 32 bits | 64 bits |
_findfirst32i64 , _wfindfirst32i64 |
Non affecté par la définition de macro | 32 bits | 64 bits |
_findfirst64i32 , _wfindfirst64i32 |
Non affecté par la définition de macro | 64 bits | 32 bits |
Mappages de routines de texte générique
Routine Tchar.h |
_UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tfindfirst |
_findfirst |
_findfirst |
_wfindfirst |
_tfindfirst32 |
_findfirst32 |
_findfirst32 |
_wfindfirst32 |
_tfindfirst64 |
_findfirst64 |
_findfirst64 |
_wfindfirst64 |
_tfindfirsti64 |
_findfirsti64 |
_findfirsti64 |
_wfindfirsti64 |
_tfindfirst32i64 |
_findfirst32i64 |
_findfirst32i64 |
_wfindfirst32i64 |
_tfindfirst64i32 |
_findfirst64i32 |
_findfirst64i32 |
_wfindfirst64i32 |
Spécifications
Fonction | En-tête requis |
---|---|
_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> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.