std::filesystem::directory_entry::is_directory
来自 cppreference.com
< cpp | filesystem | directory entry
bool is_directory() const; |
(1) | (自 C++17 起) |
bool is_directory( std::error_code& ec ) const noexcept; |
(2) | (自 C++17 起) |
检查指向的对象是否为目录。实际上返回
1) std::filesystem::is_directory(status()),
2) std::filesystem::is_directory(status(ec)).
内容 |
[编辑] 参数
ec | - | 非抛出重载中错误报告的输出参数 |
[编辑] 返回值
如果引用的文件系统对象是目录,则为 true,否则为 false。
[编辑] 异常
任何未标记为 noexcept
的重载可能会抛出 std::bad_alloc,如果内存分配失败。
[编辑] 示例
运行此代码
#include <filesystem> #include <iostream> #include <string_view> namespace fs = std::filesystem; void check_directory(fs::directory_entry const& d, std::string_view rem = "") { std::cout << "is_directory(" << d << "): " << d.is_directory() << rem << '\n'; } int main() { fs::directory_entry d1("."); fs::directory_entry d2("file.txt"); fs::directory_entry d3("new_dir"); std::cout << std::boolalpha; check_directory(d1); check_directory(d2); check_directory(d3, " (has not been created yet)."); std::filesystem::create_directory("new_dir"); check_directory(d3, " (before refresh)."); d3.refresh(); check_directory(d3, " (after refresh)."); }
可能的输出
is_directory("."): true is_directory("file.txt"): false is_directory("new_dir"): false (has not been created yet). is_directory("new_dir"): false (before refresh). is_directory("new_dir"): true (after refresh).
[编辑] 另请参阅
(C++17) |
检查给定路径是否引用目录 (函数) |