FINDNEXT |
Trouvé le suivant |
Turbo C |
dir.h, dos.h |
Syntaxe
int findnext(struct ffblk *resul)
|
Paramètres
Nom |
Description |
resul |
Ce paramètre permet d'indiquer l'enregistrement contenant le résultat de la recherche : |
ff_reserved |
char [2] |
Ce champ permet d'indiquer des données réservés. |
ff_attrib |
char |
Ce champ permet d'indiquer l'attribut du fichier. |
ff_time |
unsigned |
Ce champ permet d'indiquer l'heure de la dernière mise à jour du fichier. |
ff_fdate |
unsigned |
Ce champ permet d'indiquer la date de la dernière mise à jour du fichier. |
ff_size |
long |
Ce champ permet d'indiquer la taille du fichier en octets. |
ff_name |
char [13] |
Ce champ permet d'indiquer le nom du fichier. |
Retour
Valeur |
Description |
0 |
Cette valeur permet d'indiquer que l'opération a été un succès. |
-1 |
Cette valeur permet d'indiquer qu'une erreur s'est produite et qu'il n'a pas été possible de lire le dossier. Dans ce cas, il sera possible d'obtenir des informations supplémentaires en consultant la variable errno. |
Description
Cette fonction permet de rechercher l'occurrence suivant (fichier ou répertoire) contenu dans un répertoire de fichier.
Il faudra répété l'appel de cette fonction tant qu'elle ne retournera pas une erreur ou un code d'erreur «ENMFILE» indiquant que tous les éléments du dossier ont été lus.
Remarques
- Cette fonction doit d'abord être précédé par la fonction «findfirst» afin de déterminer l'objet de la recherche.
- Les codes d'erreurs retournés par la variable «errno» correspondent généralement à ceci :
ENMFILE |
Cette constante permet d'indiquer que tous les fichiers du dossier ont été lus. |
ENOENT |
Cette constante permet d'indiquer qu'une composante du chemin n'existe pas ou que le chemin est une chaine de caractères vide. |
- Cette fonction utilise l'interruption DOS (21h), fonction 4Fh afin de retourner le fichier suivant à recherché.
Exemple
Voici un exemple montrant comment afficher tous les fichiers dans le répertoire racine :
- #include <dir.h>
- #include <dos.h>
-
- int main() {
- struct ffblk FileInfo;
- if(findfirst("\*.*",&FileInfo,FA_ARCH | FA_RDONLY | FA_HIDDEN | FA_SYSTEM) == 0) {
- do {
- printf("%s\n",FileInfo.ff_name);
- } while (findnext(&FileInfo) == 0);
- } else {
- puts("Aucun fichier trouvable");
- }
- }
Voir également
Langage de programmation - Turbo C - Référence de fonctions - findfirst
Dernière mise à jour : Samedi, le 4 juillet 2015