std::filesystem::directory_entry::refresh

 
 
 
 
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 所代表的文件的最后数据修改时间
(公开成员函数)