23/07/08 19:05
Ciao a tutti,
ho trovato su internet un esempio su come usare i comandi findfirstfile, findnextfile. findclose e l'ho modificato per poter visualizzare i file anche nelle sotto directory solo che al posto che visualizzare i file e le cartelle visualizza all'infinito
Cartella: ..
File: .
qual'è l'errore???
ecco il codice:
ciao e grazie a tutti
ps: l'errore è dovuto alla funzione ricorsiva (si dice cos se non mi sbaglio) ossia alla chiamata della funzione search all'interno della funzione stessa search.
ho trovato su internet un esempio su come usare i comandi findfirstfile, findnextfile. findclose e l'ho modificato per poter visualizzare i file anche nelle sotto directory solo che al posto che visualizzare i file e le cartelle visualizza all'infinito
Cartella: ..
File: .
qual'è l'errore???
ecco il codice:
#include <windows.h> #include <stdio.h> void search() { WIN32_FIND_DATA ricerca; HANDLE h; // Apre la ricerca h = FindFirstFile("*.*", &ricerca); if (h != INVALID_HANDLE_VALUE) { // Prosegue la ricerca do if (GetFileAttributes(ricerca.cFileName) == FILE_ATTRIBUTE_DIRECTORY) {printf ("Cartella: %s\n", ricerca.cFileName); search();} else printf ("File: %s\n", ricerca.cFileName); while (FindNextFile(h, &ricerca)); // Chiude la ricerca FindClose(h); } else { printf("Errore %d\n", GetLastError ()); } } int main(){ search(); system("pause"); }
ciao e grazie a tutti
ps: l'errore è dovuto alla funzione ricorsiva (si dice cos se non mi sbaglio) ossia alla chiamata della funzione search all'interno della funzione stessa search.
Ultima modifica effettuata da 23/07/08 19:14