Boost Filesystem
-
Hallo zusammen,
ich habe mich mal mit der Boost library auseinandergesetzt.
Ich habe ein Programm geschrieben das Dateien mit einer bestimmten Endung aus einem Pfad löscht und dann weitergeht..also alles durchläuft und löscht.Habe dabei jedoch ein Problem. Ich kriege bei vielen Pfaden einen Speicherfehler:
Unbehandelte Ausnahme bei 0x7c812a5b in example.exe: Microsoft C++-Ausnahme: boost::filesystem::basic_filesystem_error<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>,std::allocator<char> >,boost::filesystem::path_traits> > an Speicherposition 0x0012f594..Der Fehler tritt jedoch nur bei Pfaden mit viel Inhalt auf..z.B. wenn ich C:\ durchsuche...wenn ich nur einen unterordner durchgehe gibt es keine probleme...
Hier mein Code:
fs::directory_iterator end_itr; // default construction yields past-the-end for ( fs::directory_iterator itr( dir_path ); itr != end_itr; itr++) { if ( is_directory(itr->status())) { clear_borland_files( itr->path()); } cout << itr->path() << " " << itr->path().leaf() << " " << extension(itr->path()) <<endl; if (extension(itr->path()) == ".obj") { remove(itr->path()); count++; } }würde mich freuen wenn einer ne idee hat und mir helfen könnte

Danke euch!lg fabian
-
Fabian88 schrieb:
Unbehandelte Ausnahme bei 0x7c812a5b in example.exe: Microsoft C++-Ausnahme:Ich weiß, off-topic, aber ich finds schon dreist, dass M$ da mal wieder seinen Stempel aufdrückt. Denn entweder handelt es sich da um eine "Microsoft C++"-Ausnahme, was suggeriert dass C++ ein Mircosoft Produkt wäre, oder om eine "C++-Ausnahme von Microsoft" - als ob Boost ein M$-Produkt wäre... Demnächst stehe ich morgens aus meinem Microsotf Bett auf um mit der Microsoft Bahn zur Microsoft Arbeit zu fahren und mit einem Kollegen meine neuese Microsoft Idee zu besprechen

-
Fang doch mal die Exception und lass dir den Fehler ausgeben:
try { // dein Code } catch (std::exception const& exc) { std::cerr << exc.what () << std::endl; }
-
Das ist wohl korrekt
Hilft mir nur leider nicht weiter

-
Ich check irgendwie garnix mehr

Jetzt habe ich das durm gesetzt.. das try catch.. und nu klappt es ... lächerlich...Gott weiss warum... ^^ danke dir !
-
ahhh ne hatte nen getch() vergessen
so hat er die fheler einfach nur überpsrungen.. also da kommt dannC:/RECYCLER boost::filesystem::basic:directory:iterator constructorGeht danach jedoch weiter... was schonmal ein fortschritt ist

-
pumuckl schrieb:
Fabian88 schrieb:
Unbehandelte Ausnahme bei 0x7c812a5b in example.exe: Microsoft C++-Ausnahme:Ich weiß, off-topic, aber ich finds schon dreist, dass M$ da mal wieder seinen Stempel aufdrückt. Denn entweder handelt es sich da um eine "Microsoft C++"-Ausnahme, was suggeriert dass C++ ein Mircosoft Produkt wäre, oder om eine "C++-Ausnahme von Microsoft" - als ob Boost ein M$-Produkt wäre... Demnächst stehe ich morgens aus meinem Microsotf Bett auf um mit der Microsoft Bahn zur Microsoft Arbeit zu fahren und mit einem Kollegen meine neuese Microsoft Idee zu besprechen

Wenn die Exception mittels CRT und Compiler von MS generiert wird, dann darf sich das Ding auch so nennen. Warum auch nicht? Es ist wahrscheinlich deren Implementierung.
-
Artchi schrieb:
Wenn die Exception mittels CRT und Compiler von MS generiert wird, dann darf sich das Ding auch so nennen. Warum auch nicht? Es ist wahrscheinlich deren Implementierung.
Die nächste Stufe ist dann etwas wie folgt:
[Fehler 4711: Der Prozess will nicht mehr...
Dieser Fehler wurde ihnen präsentiert von Intercrash & Sturzflug dem neuen Billigflieger von Nebenan, und Morgen vielleicht schon in ihrem Garten. Kaufen sie noch heute die Billigen OneWayTickets]
[Direkt zur Buchung] [Schließen]cu André