Laden...

Verzeichnisse durchsuchen mit Visual C++

Erstellt von Watje vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.412 Views
W
Watje Themenstarter:in
1 Beiträge seit 2004
vor 19 Jahren
Verzeichnisse durchsuchen mit Visual C++

Hallo
Ich hab ein Großes Problem. (Hoffe für euch wird es nur ein kleines sein)
Und zwar muß ich für mein Studium folgendes Programm schreiben:


Übung 7

Aufgabe 18 (Testat):
Schreiben Sie ein Programm, das die Einträge eines Verzeichnisses (Directories) in einem Windows- (oder UNIX-)Dateisystem durchsucht.

Berücksichtigen Sie dabei folgende Randbedingungen:

· Der Name des Verzeichnisses ist einzugeben.

· Die Namen aller Verzeichniseinträge (Dateien und Unterverzeichnisse) sind in die Datei directory.txt auszugeben.
Falls diese Datei bereits existiert, ist nachzufragen, ob sie überschrieben werden darf.

· Die Verzeichnisstruktur ist vollständig bis zur untersten Schachtelungsebene (also einschließlich aller evtl. vorhandenen Unterverzeichnisse) abzuarbeiten.
(Hinweis: Denken Sie an rekursive Funktionsaufrufe.)

· Die Ausgabe hat strukturiert zu erfolgen.
(Einrückung der Namen entsprechend der Schachtelungstiefe)

· Falls das angegebene Verzeichnis nicht existiert, ist eine entsprechende Meldung auf die Konsole auszugeben.

· Die Gesamtzahl der gelesenen Dateien (also Gesamtzahl der Einträge minus Anzahl der Verzeichnisse) ist auf die Konsole auszugeben.

· Die Verzeichniseinträge

  • . (Referenz auf das Verzeichnis selbst)
  • .. (Referenz auf die nächst höhere Verzeichnisebene)
    sind nicht auszugeben.

· Das Programm muss ohne Beschränkung hinsichtlich der Schachtelungstiefe der Verzeichnisstruktur und der Anzahl der Dateien arbeiten.


Das ganze muß in in "c" mit Visual c++ programmieren. Mein Problem ist das ich noch nicht viel Programmiert habe und wir Lesen von Verzeichnissen noch nicht durchgenommen haben. Im Scrip meines Prof steht etwas von "Findfirst" und "Findnext "was auch alles sehr logisch klang. Doch in der Praxis funktionierte das bei mir nicht. Mitlerweile hab ich gelesen das
es die hierfür benötigte Headerdatei "dir.h" bei Visual C++ gar nicht gibt (also kein wunder das bei mir nichts funktionierte).

Meine Frage: muß ich eine ander Headerdatei einbinden, mit anderen Befehlen arbeiten oder gibt es vielleicht einen ganz anderen Weg bei Visual c++ Verzeichnisse zu durchsuchen.

Bin über jede Hilfe dankbar. Auch über weiter Tips zur Erstellung das Programms.

An Visual C++ komm ich leider nicht drum rum weil wir es halt in den Vorlesungen verwenden und auch mein Programm darauf laufen muß. Mein Prof meinte schon das es als Anfänger nicht so Ideal sei, aber sein Vorgänger hat damit angefangen und deshalb machen wir mit dem Programm auch weiter

Vielen Dank schon mal im Vorraus an alle die sich die Zeit nehmen mir zu helfen.

N
4.644 Beiträge seit 2004
vor 19 Jahren

--> Verschoben nach Off Topic, da es sich hier nicht um C# handelt.

V
842 Beiträge seit 2003
vor 19 Jahren

Hi!

Wenn es Plattformunabhängig sein soll, dann verwende die Bilbiothek boost. Damit kannst du auch Dateioperationen plattformabhängig machen. dos.h ist eine plattformabhängige Headerdatei.

Boost für Visual C++:
http://msdn.microsoft.com/visualc/default.aspx?pull=/library/en-us/dv_vstechart/html/boostvc.asp

Vielleicht könntest du uns einen Link zur Aufgabenstellung senden? Plattformunabhängig geht es außer mit einer Bibliothek nicht! Wenn es nur für Windows sein sollte, könntest du die MFC verwenden (In den Projekteinstellungen Verwendung von MFC als statische Bibliothek einstellen) und dann die afx.h einbinden.

Code-Hacker

F
529 Beiträge seit 2003
vor 19 Jahren

Leck mich am Buckel, vielleicht solltest du dir mal ein anderes Studienfach suchen. BWL oder so. Da muss man nämlich nicht nachdenken sondern nur stumpfsinnig auswendiglernen. Ich nehm dir ja noch nichtmal üblel, dass du die Vorlesungen geschwänzt hast.....

Aber was ich garnicht abhaben kann, ist wenn Leute blöd fragen, weil sie noch nichtmal google bedienen oder englisch können. Aber ich will nicht so sein:
http://sol-biotech.com/code/WinDirectoryListing.cpp (zwei Minuten suchen)

Edit
Und sagen es würde nicht funktionieren zählt nicht, ich habs mit DevC++ und dem MinGW getestet. Nur des schreiben in die Datei fehlt.

--
mfg
Franknstein

Besuchen sie das VisualC++ - Forum

V
842 Beiträge seit 2003
vor 19 Jahren

Hi!

Das kann ich mir auch nicht ganz vorstellen das eine Aufgabe kommt zu welcher keine Vorlesung stattfand. Es wird dazu bei euch sicher ein Beispiel geben, wenn auch für nur eine Plattform. Dann musst du es dir für die zweite Plattform selbst erarbeiten.

Du kannst ja notfalls bedingte Kompillierung verwenden, wenn du Systemabhängige Header verwendest.

Code-Hacker