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
· 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.
--> Verschoben nach Off Topic, da es sich hier nicht um C# handelt.
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
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
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