0

somepath/**したがって、私たちsomepath/myfolder/fileにはそのような親がいtrueます。では、パスが特定の親を満たしているかどうかを調べるにはどうすればよいでしょうか?someotherpath/false

4

1 に答える 1

1

両方のパスを正規化する必要があります。次に、単純なサブストリング比較を実行して、問題のパスが正規化された参照パスで始まるかどうかを確認します。

正規化には、現在の作業ディレクトリを相対パスに追加すること、ファイルシステムで大文字と小文字が区別されない場合は大文字と小文字を区別すること、シンボリックリンクを解決すること、ハードリンクをテストすることも含まれます。ファイル自体をシンボリックリンクにしたい場合は、正規化する前にパス部分を抽出する必要があります。

Linuxで関数を使用してこれを実行しましたがrealpath()、参照パスにシンボリックリンクが含まれている場合でも、非常にうまく機能します。しかし、ブーストでそれを行う方法がわかりません。

于 2011-04-26T23:18:09.367 に答える