命名空间
变体
操作

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 - 用于非抛出重载中的错误报告的 out 参数

[编辑] 返回值

(无)

[编辑] 异常

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

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

[编辑] 注解

许多用于目录遍历的底层 OS API 在检索下一个目录条目的同时检索文件属性。 std::filesystem::directory_iterator 的构造函数和非常量成员函数将这些属性(如果有)存储在指向的 std::filesystem::directory_entry 中,而无需调用 directory_entry::refresh,这使得在迭代目录条目时检查它们的属性成为可能,而无需进行额外的系统调用。

[编辑] 示例

[编辑] 参见

此目录条目指定的文件的状态;
此目录条目指定的文件/符号链接的状态
(公有成员函数) [编辑]
检查目录条目是否引用现有的文件系统对象
(公有成员函数) [编辑]
检查目录条目是否引用块设备
(公有成员函数) [编辑]
检查目录条目是否引用字符设备
(公有成员函数) [编辑]
检查目录条目是否引用目录
(公有成员函数) [编辑]
检查目录条目是否引用命名管道
(公有成员函数) [编辑]
检查目录条目是否引用其他文件
(公有成员函数) [编辑]
检查目录条目是否引用常规文件
(公有成员函数) [编辑]
检查目录条目是否引用命名 IPC 套接字
(公有成员函数) [编辑]
检查目录条目是否引用符号链接
(公有成员函数) [编辑]
返回目录条目引用的文件的大小
(公有成员函数) [编辑]
返回引用目录条目引用的文件的硬链接数
(公有成员函数) [编辑]
获取目录条目引用的文件的最后数据修改时间
(公有成员函数) [编辑]