Recuperer tous fichier (*.bat) dans rep et sous rep

gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009 - 27 janv. 2004 à 18:50
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009 - 27 janv. 2004 à 19:43
tout est dans le titre.
je voudrais donner un repertoire et en retour, recuperer tous les fichiers (ex: *.bat) de ce repertoire mais aussi des sous repertoires, recuperation dans une pile

pas de mfc

3 réponses

cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
27 janv. 2004 à 19:34
struct _finddata_t fileInfo;
char repert[MAX_PATH];
char rech[MAX_PATH];

long idRecherche;
long result;
int nombre=0;

//masque de recherche
sprintf(rech,"%s\\*.bat",repertoire);

idRecherche = _findfirst(rech,&fileInfo);
if (idRecherche==-1)
result = -1;
else
result = 0;

while (result==0)
{
//filtrage des accès au répertoire courant et au sur-répertoire
if (strcmp(fileInfo.name,".")!=0 && strcmp(fileInfo.name,"..")!=0)
{
//compteur
nombre++;
if ((fileInfo.attrib & _A_SUBDIR)!=0)
{
//traitement en cas de sous-répertoire
}
else
{
//traitement en cas de fichier
}
}
result = _findnext(idRecherche,&fileInfo);
}
//fin de la recherche
_findclose(idRecherche);
//on retourne le nombre d'éléments trouvés
return nombre;

Ca t'irait, un truc comme ça ?

alain
0
cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
27 janv. 2004 à 19:39
oups, j'ai oublié de te dire : c'est extrait d'une fonction qui accepte en paramètre un char * nommé 'répertoire' qui contient le nom d'accès au répertoire voulu, et qui retourne le nombre d'occurences trouvé.

Dans le cas d'une sélection des *.bat, les sous-répertoires ne seront traités que si ils portent un nom correspondant à ce masque.

Pour la pile, je dois avoir une classe pile quelque part, mais sinon, il te suffit de faire une liste chainée, et de faire des ajouts/suppression en tête de liste.

a+

alain
0
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
27 janv. 2004 à 19:43
j'ai pas testé mai entre temps j'ai trouvé mon bonheur

ps: j'utilise la bibliotheque wxwindows (dispo sur : wxwindows.org , mon message etait au cas où j'avais pas cette possibilité avec cette bibliotheque, mais je l'ai

merci encore
0
Rejoignez-nous