std::filesystem::directory_entry::refresh
< cpp | filesystem | directory entry
void refresh() const; void refresh( std::error_code& ec ) noexcept; |
(C++17 起) | |
检验此 directory_entry 所指代的文件系统对象,并为令 status() 、 exists() 、 is_regular_file() 可获取其属性,而存储属性及其他状态访问器。
若发生错误,则任何缓冲的属性的值是未指定的
参数
ec | - | 不抛出重载中报告错误的输出参数 |
返回值
(无)
异常
不接受 std::error_code& 参数的重载在底层 OS API 错误时抛出 filesystem_error ,以第一 path 参数 p
和作为错误码参数的 OS 错误码构造。若 OS API 调用失败,则接受 std::error_code& 参数的重载设置该参数为 OS API 错误码,而若不出现错误则执行 ec.clear() 。若内存分配失败,则任何不标记为 noexcept
的重载可能抛出 std::bad_alloc 。
注意
许多遍历目录的低层 OS API 将下个目录条目与文件属性一同获取。若它们存在,则 directory_iterator
的构造函数和非 const 函数将这些属性存储于所指向的 directory_entry 中,而不调用 directory_entry::refresh 。这使得程序能够在迭代目录条目的同时检验其属性,而不进行额外的系统调用。
示例
本节未完成 原因:暂无示例 |
参阅
此 directory_entry 所指代的文件的状态 此 directory_entry 所指代的文件的符号链接状态 (公开成员函数) | |
检查 directory_entry 是否代表既存文件系统对象 (公开成员函数) | |
检查 directory_entry 是否代表阻塞设备 (公开成员函数) | |
检查 directory_entry 是否代表字符设备 (公开成员函数) | |
检查 directory_entry 是否代表目录 (公开成员函数) | |
检查 directory_entry 是否代表具名管道 (公开成员函数) | |
检查 directory_entry 是否代表其他文件 (公开成员函数) | |
检查 directory_entry 是否代表常规文件 (公开成员函数) | |
检查 directory_entry 是否代表具名 IPC 接头 (公开成员函数) | |
检查 directory_entry 是否代表符号链接 (公开成员函数) | |
返回 directory_entry 所指代的文件大小 (公开成员函数) | |
返回引用到该 directory_entry 所表示的文件的硬链接数 (公开成员函数) | |
获取或设置 directory_entry 所代表的文件的最后数据修改时间 (公开成员函数) |