lo faccio qua al volo (senza correggere)

codice:
 #include <windows.h>


 int countDirs( char* szBaseDir )
 {
   int dirs = 0;
   HANDLE _hFind;
   WIN32_FIND_DATA __win32_data;


   
   if ( (_hFind = FindFirstFile( szBaseDir, &__win32_data )) != INVALID_HANDLE_VALUE )
   {
     while( 1 )
     {
       if ( GetFileAttributes( __win32_data.cFileName ) & FILE_ATTRIBUTE_DIRECTORY )
         dirs++;

       if ( !FindNextFile( _hFind, &__win32_data) )
         break;
     }

     FindClose( _hFind );
   }

   return dirs;
 }