beebof Geschrieben 1. November 2002 Geschrieben 1. November 2002 ich nutzte vc++ mit mfc und möchte mir nun alle dateien in einem von mir festgelegten verzeichnis auslesen, um diese dann nacheinander zu verarbeiten. Wie geht sowas? :confused: Zitieren
beebof Geschrieben 1. November 2002 Autor Geschrieben 1. November 2002 okay... vergesst es... hab nochmal gesucht http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=18453&highlight=datei ich denke mal, dass wird mir helfen Zitieren
Crush Geschrieben 1. November 2002 Geschrieben 1. November 2002 Ich habe mir zum Einlesen eines Verzeichnisses eine eigene kleine Klasse geschrieben: //DStrukturen.h #include <afxtempl.h> class DStrukturen { private: enum type {dir,file}; typedef struct cdFile {type Typ; CString cdfile; CString path;} CDFile; int files,dirs; CString Structpath; void readstructure(CDFile& newfile,CString& CDpath); public: CArray<CDFile> Branchlist; DStrukturen(CString CDpath); virtual ~DStrukturen() {Branchlist.RemoveAll();} void output() {int t=Branchlist.GetCount(); for (int i=0; i<t;i++) TRACE("%s\\%s\n",Branchlist[i].path,Branchlist[i].cdfile); TRACE("Dirs: %i Files: %i",dirs,files);} }; // .cpp #include "DStrukturen.h" DStrukturen::DStrukturen(CString CDpath="P:\\") { files=dirs=0; CDFile newfile; readstructure(newfile,CDpath); } void DStrukturen::readstructure(CDFile& newfile,CString& CDpath) { CFileFind finder; CString findpath=CDpath+"\\*.*"; BOOL loop= finder.FindFile(findpath); while (loop) { bWorking = finder.FindNextFile(); if (!finder.IsDots()) { newfile.path=CDpath; newfile.cdfile=finder.GetFileName(); if (finder.IsDirectory()) { dirs++; newfile.Typ=dir; readstructure(newfile,CDpath+"\\"+finder.GetFileName()); } else { files++; newfile.Typ=file; Branchlist.InsertAt(0,newfile); } } } } //Aufruf im Programm: DStrukturen str("C:"); // Erstellen des Reader-Objekts mit gleichzeitigem Einlesen der kompletten Directory-Strukur str.output(); // gibt erstmal alles ins Trace-Fenster aus. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.