Unterordner und Dateien auflisten
-
Hallo,
wie kann ich mir in C++ alle Ordner und Dateien eines Ordners auflisten lassen?
Habe leider nur einen Bestimmten Teil des Ordnernamen. Der Rest besteht aus einer Versionsnummer, die ich nicht kenne. Das ganze sollte unter Linux funktionieren und, wenn möglich auch für Windows (aber Linux ist wichtiger).
MfG
TheCurse
-
boost::filesystem ist wohl das wonach du suchst:
http://boost.org/libs/filesystem/doc/index.htmDevil
-
Hmm,
geht das nicht auch irgendwie mit C++ eigenen Mitteln oder bei einem Linux-Syste eh installieren Sachen? Ich hätte sehr ungerne boost in den Abhängigkeiten meines Projekts, da die Dependencies möglichst gering sein sollen.
-
TheCurse schrieb:
geht das nicht auch irgendwie mit C++ eigenen Mitteln
Nope.
oder bei einem Linux-Syste eh installieren Sachen?
Schau dir mal die Funktionen aus dirent.h an. (opendir, readdir usw.). Die gibt es auf jedem Linux-System.
In den FAQs des Unix/Linux-Systems gibt es dazu auch einen Eintrag.
-
Geht leider nicht mit der Standard-Library. Wenn du boost nicht willst, mußt du spezielle Linux-Libs benutzen. Damit machst du dich aber abhängiger als mit boost. Weiß ja nicht was schlimmer ist: platformunabhängiges Boost oder platformabhängiges Linux. Mußt du aber natürlich selbst entscheiden.
-
also für C gibts
#include <dirent.h> DIR * dirhandle = opendir("C:\\"); if(dirhandle != NULL) { struct dirent *file = NULL; while( (file = readdir(dirhandle)) != NULL) { // file->d_name = Dateiname } closedir(dirhandle); }
-
Artchi schrieb:
Wenn du boost nicht willst, mußt du spezielle Linux-Libs benutzen.
Oder die (IMHO schöne) Lib von Hume: http://fara.cs.uni-potsdam.de/~kaufmann/dirstream/index.html
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnucmg/html/UCMGch09.asp dann noch solange suchen(textsuche:3.suchergebniss) bis du "Working directory" als ueberschrift gefunden hast und darunter steht es dann wie man genau das einmal unter win und einmal unter linux(bzw.unix) hinbekommt. falls man sich das alles unter http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6224464A-31AA-42D1-AE0B-DD9B5713B928 runterzieht ist es ab seite 344 zu finden.
-
Vielen Dank!