Ho elaborato il seguente codice..ma mi chiedo come posso far si che venga passato il nome della cartella come parametro di ricerca..e anche far si che una volta trovata la sottocartella, i file presenti nella cartella madre vengano letti lo stesso. Suggerimenti? Ecco il programma principale con relativo sottoprogramma.
Main
codice:
#include <iostream>
#include <windows.h>
using namespace std;
void ricerca();
int main (){
HANDLE hFind;
WIN32_FIND_DATA FindData;
// Find the first file
hFind = FindFirstFile("C:\\*.*", &FindData);
/*file process*/
cout<<"===MAIN==="<<endl;
cout << FindData.cFileName << endl;
// Look for more
while (FindNextFile(hFind, &FindData))
{
while (FindData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY!=0){ //se trova una cartella richiama "ricerca"
ricerca();
}
/*file process*/
cout << FindData.cFileName << endl;
}
// Close the file handle
FindClose(hFind);
system("pause");
}
Ricerca
codice:
#include <windows.h>
#include <iostream>
void ricerca()
{
using namespace std;
HANDLE hFind;
WIN32_FIND_DATA FindData;
// Find the first file
cout<<"===RICERCA==="<<endl;
hFind = FindFirstFile("C:\\*.*", &FindData);
/*file process*/
cout << FindData.cFileName << endl;
// Look for more
while (FindNextFile(hFind, &FindData))
{
/*file process*/
cout << FindData.cFileName << endl;
}
// Close the file handle
FindClose(hFind);
}