Mi directorio de trabajo actual se encuentra en /home/myuser/program
, creé un objeto boost::filesystem::path
apuntando a él. Anexé /../somedir
por lo que se convierte en /home/myuser/program/../somedir
. Pero necesito obtener su ruta absoluta resuelta, que sería /home/myuser/somedir
.Obtener ruta absoluta con boost :: filesystem :: ruta
Lo he estado intentando durante mucho tiempo y no encuentro ningún método en their reference para hacer esto. Hay un método llamado make_absolute
, que parece que se supone que haga lo que espero, pero tengo que darle un argumento de ruta "raíz". ¿Cuál debería ser? ¿Realmente necesito hacer esto para obtener el camino real absoluto? ¿Hay alguna otra manera?
Exatcly. No quería usar la palabra "canónico" ya que no estaba seguro de si también significaba enlaces simbólicos resueltos y cosas así, por ejemplo. Intenté tu sugerencia y funcionó de inmediato. Gracias. – Mario
Tenga en cuenta que canonical arroja una excepción si el archivo no existe. Entonces podrías construir solo la ruta existente. –