我的當前工作目錄位於/home/myuser/program
,我創建了一個指向它的boost::filesystem::path
對象。我追加了/../somedir
,所以變成了/home/myuser/program/../somedir
。但我需要得到它的解決絕對路徑,這將是/home/myuser/somedir
。使用boost :: filesystem :: path獲取絕對路徑
我一直在嘗試很長時間,我沒有找到任何方法在their reference這樣做。有一種方法叫做make_absolute
,它似乎應該做我期望的,但我必須給它一個「根」的路徑參數。它應該是什麼?我真的需要這樣做才能獲得真正的絕對路徑嗎?有沒有其他方法?
Exatcly。我不想使用「canonical」這個詞,因爲我不確定它是否也意味着解析符號鏈接等。我嘗試了你的建議,並立即生效。謝謝。 – Mario
請注意,如果文件不存在,則canonical會拋出異常。所以你可以只構建現有的路徑。 –