boost exists
-
Hallo
Ich versuche gerade mir boost zu erkennnen, ob ein Ordner existiert und zwar so:
std::string strTemp = "c:/Fussball"; bf::exists(strTemp);Das Programm wird aber während der Laufzeit unterbrochen, weil eine exceptions gewprfen wird:
Unhandled exception at 0x7c82dad4 in MFC_ManagerEditor.exe: Microsoft C++ exception: boost::filesystem::filesystem_error at memory location 0x0012ed20..
Nur leider kann ich damir nichts anfangen. In einem anderen Projekt habe ich diese Funktion (exists) eigentlich schon einmal problemlos verwendet und ich habe keine Ahnung, was ich hier falsch mache.
chrische
-
Ich vermute mal, die geworfene Exception kann dir darüber mehr verraten - du mußt sie nur auffangen und auswerten:
try { std::string strTemp = "c:/Fussball"; bf::exists(strTemp); } catch(bf::filesystem_error& e) { cout<<"Fehler: "<<e.what(); }(das dürfte schon erste Hinweise geben)
-
Du erzeugst einen Path der einen portablen Pfadnamen erwartet, was aber C:/blabla nicht ist. Du mußt also dem Pfad sagen, das es sich um einen nativen Pfad handelt:
path p("c:/fussball", native); exists(p);Das nächste mal bitte die Suchfunktion bemühen, hatten wir hier vor einer Woche schon mal.
-
Hallo
Vielen Dank für die schnellen Antworten. Die Suchfunktion scheint aber leider nicht so 100% gut zu sein. Zumindest habe ich das in einigen Threads gelesen und mache nun einen Bogen darum.
chrische