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?