Ich erwarte, dass es einen einfachen Weg gibt, dies zu tun, aber ich habe es nicht einmal mit einem intensiven Googlen entdeckt.
Wie kann ich mit boost :: filesystem den Ort finden, auf den ein Symlink (on * nix systems) zeigt?
Wenn Sie v3 von boost::filesystem
verwenden, können Sie das kanonische Funktion, um einen Pfad mit allen aufgelösten Symlinks zu erhalten. Dies kann für die Auflösung des Pfades Ihres Symlinks funktionieren.
Zum Beispiel, wenn sym.link ein Symlink ist:
%Vor%Ich habe das nicht wirklich versucht, also könnte ich falsch liegen, scheint aber Sinn zu ergeben.
Alternativ können Sie etwas Glück mit read_symlink
Sie können die read_symlink()
verwenden Funktion der Version 3:
%Vor%Rückgabe : Wenn
p
eine symbolische Verbindung löst, ein Pfadobjekt, das den Inhalt dieser symbolischen Verbindung enthält. Ansonsten ein leeres Pfadobjekt.
Tags und Links c++ linux boost filesystems