Mein aktuelles Arbeitsverzeichnis befindet sich unter /home/myuser/program
, ich erstellte ein boost::filesystem::path
Objekt, das darauf zeigt. Ich fügte /../somedir
an, so dass es /home/myuser/program/../somedir
wird. Aber ich muss seinen aufgelösten absoluten Pfad bekommen, der /home/myuser/somedir
wäre.Absoluter Pfad mit boost :: filesystem :: Pfad
Ich habe lange versucht und ich finde keine Methode in their reference, dies zu tun. Es gibt eine Methode namens make_absolute
, die scheinbar das tut, was ich erwarte, aber ich muss ihr ein "Wurzel" -Pfadargument geben. Was sollte es sein? muss ich das wirklich tun, um den wirklichen absoluten Weg zu bekommen? Gibt es einen anderen Weg?
Exatly. Ich wollte das Wort "canonical" nicht verwenden, da ich nicht sicher war, ob es auch aufgelöste symbolische Links und dergleichen bedeutete. Ich habe deinen Vorschlag ausprobiert und es hat sofort funktioniert. Vielen Dank. – Mario
Beachten Sie, dass canonical die Ausnahme auslöst, wenn die Datei nicht existiert. Sie könnten also nur den bestehenden Pfad erstellen. –