Verzeichnis durchlaufen
-
Wie kann ich unter Linux Verzeichnisse durchlaufen damit ich dann alle Dateien aufgelistet hab? Also sowas in der Richtung:
while(!ist_letzte_datei()) { dateiInfo = naechsteDatei(); }
-
zB mittels Boost.Filesystem.
Ansonsten mit man: opendir(3)
-
Ich habs jetzt mit Boost versucht, aber mit:
directory_iterator itrEnd; for(directory_iterator itr(path("lang")); itr != itrEnd; ++itr) { cout << itr->path().leaf() << endl; }
spukt mir g++:
conf/wizzard.cpp: In function ‘bool startConfWizzard()’:
conf/wizzard.cpp:63: error: invalid use of ‘class boost::filesystem::path’aus. Den Code hab ich mir aus nem Beispiel aus der Boost-Doc zum Filesystem(http://www.boost.org/libs/filesystem/doc/index.htm) abgeguckt..
-
was ist Zeile 63 bei dir?
-
Die Zeile, in der die gefundene Datei/das gefundene Verzeichnis mit cout ausgegeben werden soll, also in meinem Code die Zeile 4.
-
mach mal
cout << *itr << endl;
odercout << itr->native_file_string() << endl;
-
Thx, itr->native_file_string hat gefunzt
.
Und schon die nächste Frage: wie kann ich mit Boost Config-Files einlesen(bzw. geht das überhaupt?)? Die Files sind in dem Format:
# Kommentar [Heading1] Option1=foo Option2=bar [Heading2] foo=hello world bar=good bye