directory_entry 类
描述由 *X
返回的对象,其中 X 是 directory_iterator 或 recursive_directory_iterator。
语法
class directory_entry;
备注
该类存储 path 类型的对象。 存储的 path
可以是 path 类的实例或从 path
派生的类型的实例。 它还存储两个 file_type 值。 一个值表示存储的文件名的状态。 另一个表示文件名的符号链接状态。
有关详细信息和代码示例,请参阅文件系统导航 (C++)。
构造函数
构造函数 | 说明 |
---|---|
directory_entry | 默认构造函数行为符合预期。 第四个构造函数将 mypath 初始化为 pval,将 mystat 初始化为 stat_arg,并将 mysymstat 初始化为 symstat_arg。 |
成员函数
成员函数 | 说明 |
---|---|
assign | 成员函数将 pval 分配到 mypath ,将 stat 分配到 mystat ,并将 symstat 分配到 mysymstat 。 |
路径 | 成员函数返回 mypath 。 |
replace_filename | 成员函数将 mypath 替换为 mypath.parent_path() / pval,将 mystat 替换为 stat_arg,并将 mysymstat 替换为 symstat_arg |
status | 这两个成员函数均返回首次经过更改的 mystat 。 |
symlink_status | 这两个成员函数均返回首次经过更改的 mysymstat 。 |
运算符
运算符 | 说明 |
---|---|
operator!= | 用另一个列表的副本替换列表中的元素。 |
operator= | 默认成员赋值运算符的行为符合预期。 |
operator== | 返回 mypath == right.mypath 。 |
operator< | 返回 mypath < right.mypath 。 |
operator<= | 返回 !(right < *this) 。 |
operator> | 返回 right < *this 。 |
operator>= | 返回 !(*this < right) 。 |
operator const path_type& | 返回 mypath 。 |
要求
标头:<experimental/filesystem>
命名空间:std::experimental::filesystem
assign
成员函数将 pval 分配到 mypath
,stat_arg 分配到 mystat
,并将 symstat_arg 分配到 mysymstat
。
void assign(const std::experimental::filesystem::path& pval,
file_status stat_arg = file_status(),
file_status symstat_arg = file_status());
参数
pval
存储的文件名路径。
stat_arg
存储文件名的状态。
symstat_arg
已存储文件名的符号链接状态。
directory_entry
默认构造函数行为符合预期。 第四个构造函数将 mypath
初始化为 pval,将 mystat
初始化为 stat_arg,并将 mysymstat
初始化为 symstat_arg。
directory_entry() = default;
directory_entry(const directory_entry&) = default;
directory_entry(directory_entry&&) noexcept = default;
explicit directory_entry(const std::experimental::filesystem::path& pval,
file_status stat_arg = file_status(),
file_status symstat_arg = file_status());
参数
pval
存储的文件名路径。
stat_arg
存储文件名的状态。
symstat_arg
已存储文件名的符号链接状态。
operator!=
成员函数返回 !(*this == right)
。
bool operator!=(const directory_entry& right) const noexcept;
参数
right
正在与 directory_entry
比较的 directory_entry。
operator=
默认成员赋值运算符的行为符合预期。
directory_entry& operator=(const directory_entry&) = default;
directory_entry& operator=(directory_entry&&) noexcept = default;
参数
right
正在复制到 directory_entry
的 directory_entry。
operator==
成员函数返回 mypath == right.mypath
。
bool operator==(const directory_entry& right) const noexcept;
参数
right
正在与 directory_entry
比较的 directory_entry。
operator<
成员函数返回 mypath < right.mypath
。
bool operator<(const directory_entry& right) const noexcept;
参数
right
正在与 directory_entry
比较的 directory_entry。
operator<=
成员函数返回 !(right < *this)
。
bool operator<=(const directory_entry& right) const noexcept;
参数
right
正在与 directory_entry
比较的 directory_entry。
operator>
成员函数返回 right < *this
。
bool operator>(const directory_entry& right) const noexcept;
参数
right
正在与 directory_entry
比较的 directory_entry。
operator>=
成员函数返回 !(*this < right)
。
bool operator>=(const directory_entry& right) const noexcept;
参数
right
正在与 directory_entry
比较的 directory_entry。
operator const path_type&
该成员运算符将返回 mypath
。
operator const std::experimental::filesystem::path&() const;
path
成员函数返回 mypath
。
const std::experimental::filesystem::path& path() const noexcept;
replace_filename
成员函数将 mypath
替换为 mypath.parent_path()
/ pval,将 mystat
替换为 stat_arg,并将 mysymstat
替换为 symstat_arg
void replace_filename(
const std::experimental::filesystem::path& pval,
file_status stat_arg = file_status(),
file_status symstat_arg = file_status());
参数
pval
存储的文件名路径。
stat_arg
存储文件名的状态。
symstat_arg
已存储文件名的符号链接状态。
status
这两个成员函数均返回第一次可能按如下更改的 mystat
:
如果
status_known(mystat)
,则不执行任何操作。否则,如果
!status_known(mysymstat) && !is_symlink(mysymstat)
,则mystat = mysymstat
。
file_status status() const;
file_status status(error_code& ec) const noexcept;
参数
ec
状态错误代码。
symlink_status
这两个成员函数均返回第一次可能按如下更改的 mysymstat
:如果为 status_known(mysymstat)
,则不执行任何操作。 否则为 mysymstat = symlink_status(mypval)
。
file_status symlink_status() const;
file_status symlink_status(error_code& ec) const noexcept;
参数
ec
状态错误代码。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈