我怎么知道目录在 C++ 中是否有子目录?

How can I know if directory have children directories in c++?

我想检查目录是否有子目录。 我以为我可以通过 ++operator 找到但是没有成功。

 for (auto itr = fs::recursive_directory_iterator(fs::current_path() / path); itr != fs::recursive_directory_iterator(); itr++)
            {                  
                if (!(* itr++).exists())
                    cout <<*itr << endl;
                   
            }

有什么建议吗?

A (recursive_)directory_iterator 使您可以访问子项列表,包括文件和目录。由你来区分文件和目录,例如:

bool has_child_directory(const fs::path &dir)
{
    for (auto itr = fs::directory_iterator(dir); itr != fs::directory_iterator(); ++itr)
    {                  
        if (itr->is_directory())
        {
            string s = itr->path().string();
            if ((s != ".") && (s != ".."))
                return true;
        }
    }
    return false;
}