ciao a tutti!
Io sto usando questa funzione
codice:
//Restituisce il numero di sottocartelle di una cartella data
//va richiamato ContaCartelle("C:\\Percorso\\*")
int ContaCartelle( char* percorsoRadice )
{
int risultato = 0;
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
hFind = FindFirstFile( percorsoRadice, &FindFileData );
//Se il file è valido cerco al suo interno le cartelle
if (hFind != INVALID_HANDLE_VALUE)
{
//Finché esistono ancora files
while (FindNextFile(hFind, &FindFileData) != 0)
{
//Se il file è una directory incremento il contatore
if ( GetFileAttributes( FindFileData.cFileName ) & FILE_ATTRIBUTE_DIRECTORY )
{
risultato++;
}
}
//Tolgo le due cartelle . e ..
//-1 perche il primo file non l'avevo conteggiato
risultato--;
FindClose(hFind);
}
return risultato;
}
Qualcuno mi sa dire perchè non mi differenzia le cartelle dai file ma mi conta tutto indistintamente?