Enumerer les fichiers d'un dossier

Signaler
Messages postés
70
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
26 avril 2006
-
Messages postés
70
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
26 avril 2006
-
Bonjour!!

J'utilise le code suivant, pour énumérer les fichiers contenus dans un dossier :

WIN32_FIND_DATA File;
HANDLE hSearch;
BOOL re;

hSearch=FindFirstFile("*.*", &File);
if(hSearch == INVALID_HANDLE_VALUE)
{
return FALSE;
}

re=TRUE;
do
{
/* Traitement */
re = FindNextFile(hSearch, &File);
} while(re);

FindClose(hSearch);
return TRUE;

avec windows.h en entête mais j'ai beaucoup d'erreurs et je voulais savoir si il n'y avait pas une autre bibliothèque à déclarer pour ce genre de code ??

Merci d'avance pour l'aide!!!

7 réponses

Messages postés
70
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
26 avril 2006

Finalement j'utilise un autre code qui fonctionne et qui est le suivant :

#include <windows.h>
#include
using namespace std;

void main(void) {
HANDLE hdlfff;
LPCTSTR dir = "c:\\*.*";
WIN32_FIND_DATA IpFindFileData;
hdlfff = FindFirstFile(dir,&IpFindFileData);
cout<<IpFindFileData.cFileName<<"\n";
while (FindNextFile(hdlfff,&IpFindFileData)) {
cout<<IpFindFileData.cFileName<<"\n";
}
FindClose(hdlfff);
}


Toutefois,je ne sais pas quoi mettre à la place de "c:\\*.*" pour qu'il m'énumère les images.bmp contenues dans un dossier "images" qui se trouve dans mon projet VC++.
Pouvez-vous m'aider svp? Merci
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
*.* -> Tous les fichiers, les fichiers bmp ça devient *.bmp
Et pour ton dossier image, change C:\ par ton répertoire...

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
429
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2008

Pour le images bmp il faut mettre "*.bmp"
Messages postés
70
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
26 avril 2006

Super merci beaucoup!!!!
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
ATTENTION, le handle pourrait être invalide.
On remodèle aussi pour éviter les redondances d'instructions.


WIN32_FIND_DATA wfd;
HANDLE hfind;
hfind = FindFirstFile("c:\\*.*", &wfd);
if(hfind == INVALID_HANDLE_VALUE) return; // IMPORTANT !!!
do {
cout << wfd.cFileName<<"\n";
} while(FindNextFile(hfind, &wfd));
FindClose(hfind);

ciao...
BruNews, MVP VC++
Messages postés
70
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
26 avril 2006

Bonjour,

merci pour la rectification.
J'ai une autre petite question... J'utilise un code pour extraire mes images d'une vidéo AVI et les stocker dans une dossier (www.codeproject.com/audio/ExtractAVIFrames.asp). Avec une vidéo de webcam, la vidéo enregistrée est directement en .avi donc pas de souci pour y appliquer le code. En revanche, je travaille avec un kit d'evaluation de camera qui m'enregistre les vidéos sous forme de "fichier" sans extansion. Je renomme donc ce fichier qui est inutilisable comme cela en .avi. J'y applique alors mon programme mais ça ne marche pas, j'ai le message suivant : "Debug Assertion Failed" pour la ligne suivante "ASSERT(pDIB!=NULL);" et je ne comprends pas ce qu'il se passe.

Pouvez-vous m'éclairer là dessus?? Merci
Messages postés
70
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
26 avril 2006

C'est bon en fait vaut sûrement mieux convertir complètement le fichier!!