05/04/08 16:16
WARRIOR
Ciao Ragazzi!
Sto implementando una soluzione ricorsiva per attraversare tutto l'hard disk con le API.
Qualcuno che ha già esperienza con queste due funzioni (FindFirstFile(), FindNextFile()), può consigliarmi qualcosa?
Anche senza funzione ricorsiva, provando la funzione FindFirstFile e FindNextFile in sequenza, lo script non va.
Dopo aver preso l'handle al primo file non passa a quello dopo e quest'ultimo esiste.
Grazie
Sto implementando una soluzione ricorsiva per attraversare tutto l'hard disk con le API.
Qualcuno che ha già esperienza con queste due funzioni (FindFirstFile(), FindNextFile()), può consigliarmi qualcosa?
void cerca(const char *p) { string n; WIN32_FIND_DATA FindFileData; HANDLE hFind; vector <string> v; hFind = FindFirstFile(p,&FindFileData); if (INVALID_HANDLE_VALUE != hFind ) MessageBox(0,"Handle recuperato","handle",0); else MessageBox(0,"Handle non recuperato","handle",0); while(FindNextFile(hFind,&FindFileData)) { n=(string)p+"\"+(string)FindFileData.cFileName; if(FindFileData.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY) v.push_back(n); else { cout << "nome: " << FindFileData.cFileName; system("pause"); } } for(int i=0; i<v.size(); i++) { cerca(v[i].c_str()); } FindClose (hFind); return; }
Anche senza funzione ricorsiva, provando la funzione FindFirstFile e FindNextFile in sequenza, lo script non va.
Dopo aver preso l'handle al primo file non passa a quello dopo e quest'ultimo esiste.
Grazie
aaa