ディレクトリへのパスがあり、C++ を使用してそのディレクトリの名前を取得したいと考えていますstd::filesystem。たとえば、パスが次の場合:
std::filesystem::path fake_path("C:\\fake\\path\\to\\my_directory\\");
「my_directory」を取得したいと思います。
私はこの回答を見て、最初は で機能したものが で機能してboost::filesystemいないと想定していましたがstd::filesystem、それは正しくない可能性があります。boost::filesystemいずれにせよ、ファイルで終わるパスについて具体的に尋ねているため、これが重複しているとは思いません。
文字列の取得または取得、セパレーターでの分割など、他にもいくつかの解決策を考えることができますがfake_path.end() - 2、どれも以前ほど単純ではありfake_path.filename()ません。
.filename()ファイルのパスを呼び出すのとほぼ同等の、ディレクトリのパスの最後の部分を取得するクリーンな方法はありますか?