if (hfind != INVALID_HANDLE_VALUE){
do{
if (wfd.cFileName[0] != '.'){
if ((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)){
SetCurrentDirectory (wfd.cFileName);
cherche("*");
}
if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)){
//là ben je fais ce que je veu
}
}
}while (FindNextFile(hfind, &wfd));
FindClose(hfind);
}
SetCurrentDirectory("..");
}
void main(){
cout << "BEGIN" <<endl<<endl;
SetCurrentDirectory ("\");
cherche("*");
system("pause");
}
Quand je fais une recherche dans un petit dossier ça marche niquel, par contre une recherche sur la racine d'un disque dur fait planter le programme (surement un pb de mémoire)
Quelqu'un a une solution ???
cs_Arnotic
Messages postés933Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention 9 janvier 2012 23 févr. 2006 à 20:14
Regarde dans mes programmes (obtenir la taille des dossiers et sous dossiers) tu as un exemple de récursivité qui fonctionne aussi sur le gros répertoire.