C++Parcours tous les fichiers d'un répertoire
Résolu/Fermé
MounaRM
Messages postés
19
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
27 avril 2011
-
Modifié par MounaRM le 15/06/2010 à 13:55
MounaRM Messages postés 19 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 27 avril 2011 - 15 juin 2010 à 15:05
MounaRM Messages postés 19 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 27 avril 2011 - 15 juin 2010 à 15:05
A voir également:
- C++Parcours tous les fichiers d'un répertoire
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Renommer tous les fichiers d'un dossier - Guide
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
15 juin 2010 à 14:41
15 juin 2010 à 14:41
peut être un problème entre chemin relatif et absolu lors des récursions ?
Salut,
Je ne vois pas l'appel récursif ? Peux tu nous montrer comment tu fais car je pense que le pb vient de là. La récursivité est bien la solution à ton problème.
++
Je ne vois pas l'appel récursif ? Peux tu nous montrer comment tu fais car je pense que le pb vient de là. La récursivité est bien la solution à ton problème.
++
MounaRM
Messages postés
19
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
27 avril 2011
15 juin 2010 à 15:02
15 juin 2010 à 15:02
l appel récursif se fait comme suit :
while (FindNextFile(hFind, &ffd) != 0)
{
if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
_tprintf(TEXT(" Nom Repertoire : %s <DIR>\n"), ffd.cFileName );
SousRep=ws2s(ffd.cFileName);
CheminSousRep =str + "\\"+ SousRep;
if ((SousRep != ".") && (SousRep != ".."))
{ // std::string CheminSousRep ;
// SousRep=ffd.cFileName
CheminSousRep =str + "\\"+ SousRep;
// cout << SousRep << '\n';
//cout << CheminSousRep << '\n';
int j;
j= AfficherListeFichiers( CheminSousRep );
}
}
else
{
// c'est un fichier
// appel fonction de recherche // liste des paramètre
filesize.LowPart = ffd.nFileSizeLow;
filesize.HighPart = ffd.nFileSizeHigh;
_tprintf(TEXT(" %s %ld bytes\n"), ffd.cFileName, filesize.QuadPart);
std::string FileName ;
FileName=ws2s(ffd.cFileName);
CheminSousRep =str + "\\"+ FileName;
i=lireXMPData(CheminSousRep,Titre);
}
}
while (FindNextFile(hFind, &ffd) != 0)
{
if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
_tprintf(TEXT(" Nom Repertoire : %s <DIR>\n"), ffd.cFileName );
SousRep=ws2s(ffd.cFileName);
CheminSousRep =str + "\\"+ SousRep;
if ((SousRep != ".") && (SousRep != ".."))
{ // std::string CheminSousRep ;
// SousRep=ffd.cFileName
CheminSousRep =str + "\\"+ SousRep;
// cout << SousRep << '\n';
//cout << CheminSousRep << '\n';
int j;
j= AfficherListeFichiers( CheminSousRep );
}
}
else
{
// c'est un fichier
// appel fonction de recherche // liste des paramètre
filesize.LowPart = ffd.nFileSizeLow;
filesize.HighPart = ffd.nFileSizeHigh;
_tprintf(TEXT(" %s %ld bytes\n"), ffd.cFileName, filesize.QuadPart);
std::string FileName ;
FileName=ws2s(ffd.cFileName);
CheminSousRep =str + "\\"+ FileName;
i=lireXMPData(CheminSousRep,Titre);
}
}
MounaRM
Messages postés
19
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
27 avril 2011
Modifié par MounaRM le 15/06/2010 à 15:06
Modifié par MounaRM le 15/06/2010 à 15:06
bon maintenant le code a marché
merci pour votre attention!
merci pour votre attention!