命名空间
变体
操作

std::filesystem::directory_entry::refresh

来自 cppreference.cn
 
 
 
 
void refresh();
(1) (C++17 起)
void refresh( std::error_code& ec ) noexcept;
(2) (C++17 起)

检查此目录条目所指的文件系统对象,并存储其属性,以便通过statusexistsis_regular_file及其他状态访问器检索。

如果发生错误,任何缓存属性的值都是未指定的。

目录

[编辑] 参数

ec - 非抛出重载中用于错误报告的出参

[编辑] 返回值

(无)

[编辑] 异常

任何未标记为 noexcept 的重载都可能在内存分配失败时抛出 std::bad_alloc

1) 抛出 std::filesystem::filesystem_error,构造时以 p 作为第一个路径参数,OS 错误码作为错误码参数。
2) 如果 OS API 调用失败,则将 std::error_code& 参数设置为 OS API 错误码;如果未发生错误,则执行 ec.clear()

[编辑] 注意

许多用于目录遍历的低级操作系统 API 会在检索下一个目录条目的同时检索文件属性。std::filesystem::directory_iterator 的构造函数和非 const 成员函数将这些属性(如果有的话)存储在指向的 std::filesystem::directory_entry 中,而无需调用 directory_entry::refresh,这使得在遍历目录条目时可以检查其属性,而无需进行额外的系统调用。

[编辑] 示例

[编辑] 参见

此目录项所指定文件的状态;
此目录项所指定文件/符号链接的状态
(public member function) [编辑]
检查目录项是否引用现有文件系统对象
(public member function) [编辑]
检查目录项是否引用块设备
(public member function) [编辑]
检查目录项是否引用字符设备
(public member function) [编辑]
检查目录项是否引用目录
(public member function) [编辑]
检查目录项是否引用命名管道
(public member function) [编辑]
检查目录项是否引用“其他”文件
(public member function) [编辑]
检查目录项是否引用常规文件
(public member function) [编辑]
检查目录项是否引用命名 IPC 套接字
(public member function) [编辑]
检查目录项是否引用符号链接
(public member function) [编辑]
返回目录条目所引用的文件的大小
(public member function) [编辑]
返回目录项所引用文件的硬链接数量
(public member function) [编辑]
获取目录项所引用文件的上次数据修改时间
(public member function) [编辑]