Boost Filesystem absolute Pfade
-
Hallo
Wie komme ich in Boost-Filesystem zuverlässig an die absoluten Pfade? Wenn man path z.B. ein ".." für den Parent übergibt, steht dort nachher immer noch das drin und wird auch zurückgegeben. Es gibt ja diverse unnötige Methoden wie external_directory_string, aber sowas Zentrales wie absolute_path haben sie nicht?
Habe ich da was übersehen oder muss ich tatsächlich alles nochmals wrappen, um vernünftig arbeiten zu können?
-
Der vorherige Post ist vielleicht etwas undeutlich formuliert. Pfade sind ja selbst nicht auf den aktuellen Umgebungspfad bezogen, daher macht eine Methode absolute_path innerhalb path wenig Sinn. Ausserhalb habe ich jetzt complete gefunden, das scheint den absoluten Pfad anzugeben (etwas aussagekräftiger hätte man die Funktion schon nennen dürfen).
Doch ich habe nichts gefunden, das .. und . automatisch auflöst, wenn der Umgebungspfad bekannt ist. Also
foo/bar/.. -> foo foo/bar/. -> foo/barMuss ich das selbst implementieren?
-
Das wär ja wirklich enttäuschend, wenn die nix dafür drin hätten

-
Sowas muss es doch geben...
-
Meinst du root_name oder root_directory ?
-
Soweit ich weiß, können ".." nicht ersetzt werden, weil boost keine
symbolischen Links kann.Zum Beispiel ist "/mypath/mylink/../test" nicht äquivalent zu "/mypath/test",
wenn mylink nicht auf ein Verzeichnis im gleichen Verzeichnis verweist.Gruß,
XSpille
-
XSpille, die Erklärung macht Sinn. Danke.
Es gibt auch keine Möglichkeit, das auszuwerten und symbolische Links zu berücksichtigen?
btw "mein" letzter Post war Hijacking meines Nicks.
-
Der Pfadfinder schrieb:
Es gibt auch keine Möglichkeit, das auszuwerten und symbolische Links zu berücksichtigen?
Soweit ich weiß, kann boost gar keine symbolischen Links.
Somit wirst du Sie mit boost wohl auch nicht umwandeln/auswerten können.
Da wirst du vermutlich nativ arbeiten müssen oder eine alternative
Library benutzen (, jedoch habe ich Zweifel, dass eine existiert).
-
vielleicht hilft das noch http://stackoverflow.com/questions/1746136/how-do-i-normalize-a-pathname-using-boostfilesystem