1. ホーム
  2. c++

[解決済み] getcwdに相当するC++はありますか?

2022-03-12 15:02:38

質問

Cのgetcwdを経由して見ています。 男 3 cwd

C++にも似たようなものがあって、std::stringを返してくれるんじゃないかと思うのですが。

もしそうなら、それは何と呼ばれ、どこにそのドキュメントがありますか?

ありがとうございます。

解決方法は?

OK、すでに回答を受け付けているにもかかわらず、回答しています。

getcwdの呼び出しをラップするよりもさらに良い方法としては ブースト::ファイルシステム を取得し、そこで path オブジェクトから current_path() 関数を使用します。Boostファイルシステムライブラリを使うと、ファイルやディレクトリが存在するかどうかのチェック、親パスの取得、パスの補完など、他の方法では多くの文字列パースを行う必要があるような、たくさんの便利なことができるようになるのです。このライブラリはポータブルです。

更新(2016年)しました。 ファイルシステムの公開は 技術仕様 は、2015年にBoost Filesystem v3をベースにしています。 つまり、すでにお使いのコンパイラ(例えばVisual Studio 2015など)で利用できる可能性があるということです。また、将来のC++標準(C++17を想定していますが、現状を把握していません)の一部になる可能性も高いように私には思えます。

更新(2017年)しました。 ファイルシステムライブラリ は、C++17でISO C++にマージされました。

std::filesystem::current_path();