2

パスまたはURLの管理に役立つCまたはC++のライブラリはありますか?

または、これらの言語の1つからの標準ライブラリの関数かもしれません

例:

次のAPIを想像してみてください。

class Path {
  public:
    Path(std::string &path);

    std::string getPath();

    void cd(std::string &path);
}  

私が必要としているのは、このライブラリが次の場合を処理することです。

例1

Path *p = new Path("/level_one/level_two/level_three");

p->cd("..");

そして今p->getPath() == "/level_one/level_two";

例2

p->cd("../level_TWO");

そして今p->getPath() == "/level_one/level_TWO";

例3

p->cd("/level_ONE");

そして今p->getPath() == "/level_one";

これらの例が私の問題をより明確にしたことを願っています。基本的に、POSIXシステムでのcdの構文に関するすべてのディレクトリ変更コマンドを追跡するライブラリが必要です。

4

2 に答える 2

2

ChromeとC++内で使用されているgoogle-urlプロジェクトをご覧ください。

于 2011-01-17T18:31:39.777 に答える
0

Boost Fileystemライブラリには、探しているものの多くをサポートするパスクラスがあります。

cdコマンドの代わりに、operator=/ディレクトリを降順でオーバーロードし、昇順のparent_path()メソッドを使用します。

非常にポータブルで、簡単に習得できます。ただし、URLパスを処理(AFAIK)することはできません。

于 2011-09-08T17:05:39.423 に答える