Anzahl dateien eines Dateityps



  • Ist es in C++ möglich, ein Programm die Anzahl der Dateien eines bestimmten Dateityps suchen zu lassen, und zwar in einem bestimmten Verzeichniss???

    Ich danke euch schonmal im vorraus



  • Mit CFileFind kannst du den Ordnerinhalt auflisten und dann halt die Anzahl der Dateien mit der entsprechenden Endung zählen.



  • Und in welche LIb ist CFileFind?



  • MFC Projekt -> CFileFind bla = funzt



  • Hallo.

    Diese rekursive Funktion ermittelt die Anzahl aller Dateien in einem Verzeichnis inkl. aller Unterverzeichnisse:

    wint_t GetFileCnt(CString sRootDir = "C:\\MyDir\\", CString sExtension = "cpp")
    {
        CFileFind root;
    
        wint_t nFiles = 0;
        CString sRoot = _T("");
    
        sRoot  = sRootDir;
        sRoot += "*.*";
    
        BOOL bSearching = root.FindFile(sRoot);
    
        while(bSearching)
        {
            bSearching = root.FindNextFile();
    
            if(root.IsDirectory() == FALSE)
            {
                CString s = _T("");
                s = root.GetFileName();
                if(s.Right(sExtension.GetLength()) == sExtension || sExtension == "*")
                    nFiles++;
            }
    
            else
            {
                CString sNewDir = _T("");
    
                if(root.GetFilePath() == sRootDir + "." || root.GetFilePath() == sRootDir + "..")
                    continue;
    
                sNewDir = root.GetFilePath();
                sNewDir += "\\";
    
                nFiles += GetFileCnt(sNewDir, sExtension);
            }
        }
    
        root.Close();
    
        return nFiles;
    }
    

    Über kleine Anpassungen kannst du auch alle Dateien z.B. in ein ListCtrl eintragen lassen.

    (Wildcards als Dateiendung sind erlaubt.)

    MfG
    Happosai


Anmelden zum Antworten