Zum Inhalt springen

Verzeichnissbaum durch Rekursion


Empfohlene Beiträge

Geschrieben (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 von x-low

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...