Namen von Unterverzeichnissen auslesen



  • Hi(gh)!

    Nach längerer Zeit bin ich mal wieder als Hobbyprogrammierer unterwegs, diesmal in C (das was ich vorhabe könnte ich natürlich auch in C++ mit Klassen und allem Tschingbumm programmieren, ist mir in diesem Fall aber zu aufwendig)...

    Es geht um ein Programm, das Tages-Beobachtungsdaten von Wetterstationen des Deutschen Wetterdienstes auswerten und daraus Klimatabellen im Stil der englischsprachigen Wikipedia erzeugen soll. Die Rohdaten sind bereits vollständig heruntergeladen und liegen lokal als ASCII-Dateien vor.

    Als Erstes soll das Programm ein zweidimensionales Array aus Stationsnummern und den ihnen zugeordneten Ortsnamen anlegen, indem es die Namen von Verzeichnissen ausliest. Diese Verzeichnisnamen sehen aus wie folgt:

    00001_hist
    00003_hist
    00011_akt
    00011_akt
    00044_akt
    00044_hist

    usw. bis 19172_akt

    Berücksichtigt werden sollen nur die Verzeichnisnamen mit dem Bestandteil "_hist"... aber ich habe erst mal überhaupt keine Ahnung, wie man mit C unter Linux alphanumerisch aufsteigend auf die Namen von Verzeichnissen zugreift!

    Bis bald im Khyberspace!

    Yadgar


  • Mod

    @Yadgar sagte in Namen von Unterverzeichnissen auslesen:

    Berücksichtigt werden sollen nur die Verzeichnisnamen mit dem Bestandteil "_hist"... aber ich habe erst mal überhaupt keine Ahnung, wie man mit C unter Linux alphanumerisch aufsteigend auf die Namen von Verzeichnissen zugreift!

    Natürlich gar nicht, wieso sollte es so eine spezielle Funktion fertig geben? Musst du selber machen. Im Linuxheader dirent.h findest du alles, um über Ordnerstrukturen zu iterieren, Sortier- und Stringfunktionen gibt's in der C-Standardbibliothek. Musst du dann halt entsprechend zusammensetzen.

    Oder du wählst das passende Mittel und machst nicht in C den Job eines Shellscripts. In einer typischen Shellscriptsprache wären das eine halbe bis zwei Zeilen.