std::filesystem::directory_entry::refresh

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

检验此 directory_entry 所指代的文件系统对象,并为令 statusexistsis_regular_file 及其他状态访问器可获取其属性,而存储属性。

若发生错误,则任何缓冲的属性的值是未指定的。

参数

ec - 不抛出重载中报告错误的输出形参

返回值

(无)

异常

若内存分配失败,则任何不标记为 noexcept 的重载可能抛出 std::bad_alloc

1) 抛出 std::filesystem::filesystem_error,构造时以 p 为第一路径实参并以OS 错误码为错误码实参。

若 OS API 调用失败,则 @2@ 设置 std::error_code& 形参

为 OS API 错误码,而未发生错误时则执行 ec.clear()

注意

许多遍历目录的低层 OS API 将下个目录条目与文件属性一同获取。若它们存在,则 std::filesystem::directory_iterator 的构造函数和非 const 成员函数将这些属性存储于所指向的 std::filesystem::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 所代表的文件的最后数据修改时间
(公开成员函数)