dennjo Geschrieben 14. April 2009 Geschrieben 14. April 2009 Ich habe eine Windows Forms Anwendung in Visual c++ 2008 erstellt. Und jetzt würde ich gerne ein dir-listing in eine Textdatei schreiben. Als würde ich in die cmd folgendes eingeben: dir /s c:\Programme> c:\test.txt Komm da irgendwie nicht weiter bzw. finde nicht den Befehl :-( Jemand ne Idee? Schonmal THX im Voraus..... Zitieren
dennjo Geschrieben 14. April 2009 Autor Geschrieben 14. April 2009 EDIT: Mit Syste("befehl"); geht das nicht Nach dem Motto: System("dir /s c:\\Programme> c:\\test.txt); funzt net.... in Visual Studio c++ 2008 Express Zitieren
DominikJ Geschrieben 15. April 2009 Geschrieben 15. April 2009 Moin, m.E. gibt es einen system() Befehl. Evtl. aufruf mit: cmd /C dir /s c:\Programme> c:\test.txt Zitieren
Klotzkopp Geschrieben 15. April 2009 Geschrieben 15. April 2009 DirectoryInfo Class (System.IO) Zitieren
DominikJ Geschrieben 15. April 2009 Geschrieben 15. April 2009 DirectoryInfo Class (System.IO) Weil wir uns unter .NET befinden... stimmt Aber vllt. will er ja unbedingt ne Dir List... Wobei mit DirectoryInfo alles schön nach eigenen Wünschen formatierbar ist. Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Soll ein Directory-List werden, wobei alle Unterverzeichnisse und Files in einem bestimmten Verzeichnis in eine .txt-Datei geschrieben werden. z.B.: C:\Prgramme\ordenerXY Aus diesem Ordner alle Unterverzeichnisse und Files. Aber schonmal danke für die anderen Tipps :-) Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Hab da mal was gebastelt: DirectoryInfo^ di = gcnew DirectoryInfo ("C:\\Programme\\XY\\YX"); StreamWriter^ diwriter= gcnew StreamWriter("C:\\Programme\\XY\\YX\\dir-lst.txt"); diwriter->WriteLine(di); schreibt mir nur leider nichs in die .txt rein Zitieren
DominikJ Geschrieben 15. April 2009 Geschrieben 15. April 2009 So geht das auch nicht. Guckt dir die Methoden von DirectoryInfo an: DirectoryInfo Methods (System.IO) Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Ich bin da irgendwie zu blöde für...... Zitieren
DominikJ Geschrieben 15. April 2009 Geschrieben 15. April 2009 Auszug eines Beispiels aus DirectoryInfo.GetFiles Method (System.IO) using namespace System; using namespace System::IO; int main() { // Make a reference to a directory. DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\" ); // Get a reference to each file in that directory. array<FileInfo^>^fiArr = di->GetFiles(); // Display the names of the files. Collections::IEnumerator^ myEnum = fiArr->GetEnumerator(); while ( myEnum->MoveNext() ) { FileInfo^ fri = safe_cast<FileInfo^>(myEnum->Current); Console::WriteLine( fri->Name ); } } Die MSDN ist sehr hilfreich! Für viele Klassen/Methoden gibt es Beispiele. Zwar nicht immer in allen Sprachen aber man kann es ableiten. Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Das hab ich auch.... Nur bekomme ich nicht die Werte in eine .txt datei und da sollen sie ja rein... Zitieren
Klotzkopp Geschrieben 15. April 2009 Geschrieben 15. April 2009 Nur bekomme ich nicht die Werte in eine .txt datei und da sollen sie ja rein...Ist es so schwer, Console::WriteLine durch einen WriteLine-Aufruf deines StreamWriters zu ersetzen? Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Irgendwie schon..... Wenn ich Console::WriteLine durch den WriteLine meines SreamWriters ersetze bekomme ich trotzdem eine leere txt-datei..... irgendwie bin ich da ehute zu blöd für. Zitieren
Klotzkopp Geschrieben 15. April 2009 Geschrieben 15. April 2009 Wenn ich Console::WriteLine durch den WriteLine meines SreamWriters ersetze bekomme ich trotzdem eine leere txt-datei.....Zeig doch mal den Code zu dieser Fehlerbeschreibung. Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 So. Ich war echt ein bissel zu BLÖDE *LOL* DirectoryInfo^ di3 = gcnew DirectoryInfo ("C:\\Programme\\CoCoNet\\KKS Client"); di3->GetFileSystemInfos(); StreamWriter^ di4writer = gcnew StreamWriter("C:\\Programme\\CoConet\\KKS-Support\\dir-lst.txt"); di4writer->WriteLine(di3); di4writer->Close(); So weit funzt es. Jetzt schreibt der in die txt: C:\Programme\CoCoNet\KKS Client nur möchte ich zu dem Verzeichnis alle Unterverzeichnisse und Dateien haben Zitieren
Klotzkopp Geschrieben 15. April 2009 Geschrieben 15. April 2009 So weit funzt es.Nein, das ist Unsinn. Du brauchst die Schleife. Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Funzt..... Aber leider ohne verzeichnisse und deren Unterverzeichnisse... War das ne schwere Geburt Zitieren
Klotzkopp Geschrieben 15. April 2009 Geschrieben 15. April 2009 Aber leider ohne verzeichnisse und deren Unterverzeichnisse...Das ist nicht unerwartet. Du musst das für alle gefundenen Unterverzeichnisse wiederholen, z.B. durch Rekursion. Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Stimmt... hätt ich auch selber drauf kommen können..... hättest denn nochmal nen TIPP... Ist heut nicht mein Tag wie du bestimmt bemerkt hast Bin heute halt etwas HONK.... Aber dickes DANKE Zitieren
Klotzkopp Geschrieben 15. April 2009 Geschrieben 15. April 2009 DirectoryInfo.GetDirectories Method (System.IO) Zitieren
DominikJ Geschrieben 15. April 2009 Geschrieben 15. April 2009 Darf ich mal fragen wofür du das vor hast? Privat? Arbeit? Schule? Ein Rekursions Beispiel? Weisst du denn was Rekursion ist? Wenn ja, wieso muss man dir dann alles vorkauen. Selbst wo ein fertiges Beispiel geliefert wird, klappt es nicht? Lies dir den Wiki Artikel durch, Google ein Wenig und dann frag evtl. nochmal. Solltest du es dann wirklich noch nicht 'verstanden' haben, überleg dir ob du damit heute weitermachen willst (ist ja der falsche Tag dazu)... Gruß Zitieren
dennjo Geschrieben 15. April 2009 Autor Geschrieben 15. April 2009 Ich weiß was Rekursion ist.... Läuft jetzt.... Hab nur schon lang nicht mehr mit C++ gearbeitet und nen par Befehle vergessen............. Und ich hab heut den Wald vor lauer bäumen nicht gesehen.... Hat jetzt klick gemacht und kann losgehen. Funzt soweit alles...... Danke 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.