2011-12-07 15 views

Respuesta

11

Si está utilizando v3 de boost::filesystem puede usar la función canonical para obtener una ruta con todos los enlaces simbólicos resueltos. Esto puede funcionar para resolver la ruta de su enlace simbólico.

Por ejemplo, si sym.link es un enlace simbólico:

boost::filesystem::path resolved = boost::filesystem::canonical('sym.link'); 

no he intentado esto en realidad por lo que podría estar equivocado, pero parece tener sentido.

Alternativamente, es posible que tenga un poco de suerte con read_symlink

5

Puede utilizar la función read_symlink() de la Versión 3:

path read_symlink(const path& p); 
path read_symlink(const path& p, system::error_code& ec); 

devoluciones: Si p resuelve con un enlace simbólico, un camino objeto que contiene el contenido de ese enlace simbólico. De lo contrario, un objeto de ruta vacío.

Cuestiones relacionadas