std::filesystem::directory_entry::replace_filename
来自cppreference.com
| |
(1) | (C++17 起) |
| |
(2) | (C++17 起) |
更改 directory_entry 的文件名。
等效于以 path.replace_filename(p) 修改路径成员,并调用 refresh 更新缓存的属性。若发生错误,则缓存属性的值是未指定的。
此函数不向文件系统提交任何更改。
参数
| p | - | 要附加到当前存储路径的亲路径的路径 |
| ec | - | 不抛出重载中报告错误的输出形参 |
返回值
(无)
异常
若内存分配失败,则任何不标记为 noexcept 的重载可能抛出 std::bad_alloc 。
1) 抛出 std::filesystem::filesystem_error,构造时以
p 为第一路径实参并以OS 错误码为错误码实参。示例
运行此代码
#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 的公开成员函数) |