閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

has_parent_pathの戻り値

www.little-cuckoo.jp

path::has_parent_path - cpprefjp C++日本語リファレンス

パスにルートパスのみが含まれていれば、ルートパスの親はルートパスと見なされてtrueが返る

ということでした。

c++ - How can a std::filesystem root path have itself as a parent? - Stack Overflow

has_relative_pathはパスにルートパスのみが含まれていれば、falseが返るので、

fs::path path(R"(/Users/Public/Documents)");
while (path.has_relative_path())
{
    std::cout << path.stem() << std::endl;
    path = path.parent_path();
}

なら良さそう。何か書く前にリファレンスを読みましょう。