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
Guybrush Threepwood Geschrieben 5. Februar 2009 Geschrieben 5. Februar 2009 http://forum.fachinformatiker.de/c-compiler-ides-apis/60847-pc-datei-durchsuchen.html
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden