juju_le_barbare Vous fiez pas aux apparences ! | Bonjour,
j'aimerais scanner tout mon disque D:, et savoir si tel ou tel fichier est un dossier ou un fichier :
Code :
- void scan(char *dos)
- {
- SetCurrentDirectory(dos);
- WIN32_FIND_DATA *cherche = new WIN32_FIND_DATA;
- HANDLE ch = FindFirstFile("*.*", cherche);
- bool next = true;
- while (next)
- {
- SetFileAttributes(cherche->cFileName, FILE_ATTRIBUTE_NORMAL);
- MessageBox(NULL, cherche->cFileName, "youhou", MB_OK);
- if (cherche->dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
- {
- MessageBox(NULL, "est un dossier", "youhou", MB_OK);
- scan(cherche->cFileName);
- }
- else
- MessageBox(NULL, "n'est pas un dossier", "youhou", MB_OK);
- next = FindNextFile(ch, cherche);
- }
- delete cherche;
- FindClose(ch);
- }
- //------------------------------------------------
- ---------------------------
- WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
- {
- scan("d:" );
- return 0;
- }
|
Seulement il m'indique le premier dossier (qui contient des sous-dossiers), puis en suite m"indique ". est un dossier" sans fin.
Comment faire ma fonction récursive correctement ?
@++
http://www.juju-le-barbare.fr.fm ---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
|