Dateien Auflisten
-
#include<windows.h> #include<iostream> #pragma warning (disable: 4786) using namespace std; int main() { HANDLE fHandle; WIN32_FIND_DATA wfd; fHandle=FindFirstFile("c:\\*",&wfd); while (FindNextFile(fHandle,&wfd)) { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { cout<<"Ordnername :........"<<wfd.cFileName<<endl; } } FindClose(fHandle); return 0; }
So werden alle Ordner aufgelistet die in C sind. Aber nicht die Unterordner. Wie könnte eine Lösung aussehen?
Und noch eine Frage: Es werden alle Ordner aufgelistet. Jedoch auch ein paar Einträge die keine Ornder sind.
z.B:
FOUND.000
FOUND.001
undoWeiss einer was diese Einträge zu bedeuten haben?
-
Rekursion ist das Zauberwort.
-
Das war das erste an das ich gedacht hatte. Ich weiss nur nicht wie ich genau vorgehen soll
-
Du packst das ganze in eine Funktion, die als Parameter den zu durchsuchenden Pfad (ohne das abschließende
erwartet! Wenn du jetzt beim durchlaufen dieses Verzeichnises wieder auf ein Verzeichnis stößt, hängst du dessen Namen an den aktuellen Pfad gefolgt von einen "\" (lstrcat ?) und rufst damit wieder die Funktion auf.
-
ein schönes bsp wäre mal was für die faq
-
Gibt es doch schon
(Dateien in einem Verzeichnis auflisten (FindFirstFile/FindNextFile)
Oder was meintest du?
-
:o wo du recht hast du recht, ich wusste nur noch das dies in letzter zeit schon ein paar mal gefragt worden war.
waren die finger wieder schneller als das gehirn
-
flenders: in dem beitrag is aber nichts mit rekursion drin, und das ist viel öfter gefragt
-
Das hat aber nichts mit WinAPI zu tun! Wenn du (oder irgendjemand anderes) damit Probleme hast, sollte er erstmal C bzw. C++ lernen - und auch dort danach Fragen!