x-low Geschrieben 5. Februar 2009 Geschrieben 5. Februar 2009 (bearbeitet) Hallo, ich bin ein anfänger und programmiere hauptsächlich c#. Programmiere zurzeit an einer Syntax die im dos fenster unterverzeichnisse von C:\ (ich nehme immer diesen Pfad) ausgibt undzwar durch eine Rekursion. Dabei verwende ich noch Win23_Find_data structer. Der Code: #include "stdafx.h" #include "windows.h" // Variable Structer WIN32_FIND_DATA FindFileData; //Funktion Handle HANDLE hFind; char path2[300]; //path=übrgebenes Argument (der pfad...in diesem Fall immer C:\ ) //WDH=Wiederholung void WDH(char* path) { strcpy(path2,path); strcat(path2,"*.*"); FILE_ATTRIBUTE_ARCHIVE; //Berechnungsvariablen für die Bytegröße der gefundenen Dateien double Sizeof; double Sizeof2; //FindFirstFile names hFind auf FindFileData hFind = FindFirstFile(_T(path2), &FindFileData); //Wenn nichts gefunden, error if (hFind == INVALID_HANDLE_VALUE) { printf ("Invalid File Handle. Get Last Error reports %d\n", GetLastError ()); } //Ansonsten Berechnen der Größe, Ausprinten der Datei else { // Falls eine erste Datei gefunden wurde, wird nach FindNextFile gesucht while(FindNextFile(hFind,&FindFileData)) { if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { printf(" %s \t\t\t \n\n",FindFileData.cFileName); } } } strcat (path2,"\\"); WDH(path2); } int _tmain(int argc, _TCHAR* argv[]) { WDH (argv[1]); return 0; } Meine Idee ist, dass durch den Wiederaufruf der Funktion sich die Variable path2 immer in C:\*.*\.......usw. ändert und er immer weiter in den Unterverzeichnissen mit FindNextFile sucht. Bestimmt sind auch große Fehler drin, aber ich hoffe ihr seid nicht zu streng^^ Würde gerne wissen wie man diese Idee vervollständigen kann. thx Bearbeitet 5. Februar 2009 von x-low Zitieren
Guybrush Threepwood Geschrieben 5. Februar 2009 Geschrieben 5. Februar 2009 http://forum.fachinformatiker.de/c-compiler-ides-apis/60847-pc-datei-durchsuchen.html 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.