シンボリックリンクの絶対パスをlinuxのc言語で指定されたディレクトリ(リンクされたファイルを含む)に基づいてどのように相対パスに変換できるか知りたいのですが(Ubuntu )OS。linuxの絶対パスを相対パスに変換する方法
私は相対パスの部分文字列を探していましたが、既にフォルダの階層の上位に存在する場合はどうなりますか?ここで
私が何をしたいのかをより具体的に説明する: 相対パス:
folder/folder1/folder2
アブソルートパス:
私はカント明らか/home/giorgos/Desktop/myfolder/folder1/folder2/a.pdf
に変更
/home/giorgos/Desktop/folder/folder1/folder2/a.pdf
'単純に「folder /」を検索して置き換えます。この場合は次のように考えてください:
/home/giorgos/Desktop/folder/folder/folder/folder1/folder2/a.pdf
それは後方前方との両方を検索することができ、交換した場合、それはまだ私が後方絶対に検索し、それを置き換えることができ、相対パスを知っていた場合にのみ、出力は正しいだろう間違った出力に を与える:
相対パスを変換/home/giorgos/Desktop/folder/myfolder/folder/folder1/folder2/a.pdf
なく実行されますか?カレントディレクトリ? –
はい、現在のディレクトリの相対ディレクトリ、私はより具体的にしようとします –
私はこれを行う一般的な、あらかじめ書かれたコードを知っていません。この問題の背景は何ですか?必ずしもこのルートに向かない良い解決策があるかもしれません。 – sarnold