命名空间
变体
操作

std::filesystem::directory_entry::refresh

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

检查此目录项所指的文件系统对象,并存储其属性,以便使用 statusexistsis_regular_file 和其他状态访问器进行检索。

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

内容

[编辑] 参数

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

[编辑] 返回值

(无)

[编辑] 异常

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

1) 在底层操作系统 API 错误上抛出 std::filesystem::filesystem_error,使用 p 作为第一个路径参数,操作系统错误代码作为错误代码参数。
2) 如果操作系统 API 调用失败,将 std::error_code& 参数设置为操作系统 API 错误代码,如果未发生错误,则执行 ec.clear()

[编辑] 备注

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

[编辑] 示例

[编辑] 另请参阅

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