std::filesystem::directory_entry::replace_filename
来自 cppreference.com
< cpp | filesystem | directory entry
void replace_filename( const std::filesystem::path& p ); |
(1) | (自 C++17 起) |
void replace_filename( const std::filesystem::path& p, std::error_code& ec ); |
(2) | (自 C++17 起) |
更改目录项的文件名。
实际上通过 path.replace_filename(p) 修改路径成员,并调用 refresh 来更新缓存的属性。如果发生错误,缓存属性的值是不确定的。
此函数不会对文件系统进行任何更改。
内容 |
[编辑] 参数
p | - | 要追加到当前存储的路径的父路径的路径 |
ec | - | 非抛出重载中的错误报告的输出参数 |
[编辑] 返回值
(无)
[编辑] 异常
任何未标记 noexcept
的重载可能会在内存分配失败时抛出 std::bad_alloc。
[编辑] 示例
运行此代码
#include <filesystem> #include <iostream> int main() { namespace fs = std::filesystem; { fs::directory_entry entry{"alpha"}; std::cout << entry << '\n'; entry.replace_filename("omega"); std::cout << entry << '\n'; } { fs::directory_entry entry{"/alpha/"}; std::cout << entry << '\n'; entry.replace_filename("omega"); std::cout << entry << '\n'; } }
输出
"alpha" "omega" "/alpha/" "/alpha/omega"
[编辑] 另请参阅
分配内容 (公有成员函数) | |
用另一个路径替换最后一个路径组件 ( std::filesystem::path 的公有成员函数) |