Bonjours à tous
J'ai écrit un programme qui parcour un dossier et ses sous-dossier, avec une fonction qui "s'auto appel" :
void cherche(char *s){
HANDLE hfind;
WIN32_FIND_DATA wfd;
hfind = FindFirstFile(s, &wfd);
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 ???