dirent: Verzeichnis+Subverzeichnis lesen



  • Hallo,

    Ich habe mich seit einigen Tagen an den Verzeichnisfunktionen unter Gnu/Linux in Verbindung mit dirent versucht. Klappt soweit auch ganz gut.

    Allerdings:

    Wie bewege ich das Programm dazu in seine Suche nicht nur das geöffnete, sondern auch alle Subordner einzubeziehen?

    Ich dachte an etwa folgendes:

    std::string str = entry->d_name;
    if (str.find(".txt") == string::npos)
    {
    	//Öffne str als neues Verzeichnis
    }
    

    Allerdings gibt es dann Probleme mit eventuell verirrten, nicht Textdateien.

    Wie lässt sich das besser lösen?



  • Wo ist das Problem? Einfach die Dateien durchgehen und mit man: stat(2) prüfen ob es ein Verzeichnis ist. Wenn es ein Verzeichnis ist, dann einfach rekursiv das Verzeichnis durchsuchen. Übrigens musst du den String nicht in einen std::string umwandeln, nur für find. Dafür gibt es zB man: strstr.



  • Vielen Dank


Anmelden zum Antworten