std::filesystem::relative, std::filesystem::proximate
< cpp | filesystem
定义于头文件 <filesystem>
|
||
path relative( const std::filesystem::path& p, std::error_code& ec); |
(1) | (C++17 起) |
path relative( const std::filesystem::path& p, const std::filesystem::path& base = std::filesystem::current_path()); |
(2) | (C++17 起) |
path proximate( const std::filesystem::path& p, std::error_code& ec); |
(3) | (C++17 起) |
path proximate( const std::filesystem::path& p, const std::filesystem::path& base = std::filesystem::current_path()); |
(4) | (C++17 起) |
1) 返回 relative(p, current_path(), ec)
2) 返回设为相对于
base
的 p
。在其他处理前解析符号链接并正常化 p
与 base
。等效于返回 weakly_canonical(p).lexically_relative(weakly_canonical(base)) 或 weakly_canonical(p, ec).lexically_relative(weakly_canonical(base, ec)) ,除了错误码形式在首次错误出现时返回 path() ,若有错误。3) 返回 proximate(p, current_path(), ec)
4) 等效于返回 weakly_canonical(p).lexically_proximate(weakly_canonical(base)) 或 weakly_canonical(p, ec).lexically_proximate(weakly_canonical(base, ec)) ,除了错误码形式在首次错误出现时返回 path() ,若有错误。
参数
p | - | 既存路径 |
base | - | 基路径, p 将相对于它被设为相对/接近
|
ec | - | 存储错误状态的错误码 |
返回值
1) 设为相对于 base 的 p 。
2) 设为接近 base 的 p 。
异常
不接受 std::error_code& 参数的重载在底层 OS API 错误时抛出 filesystem_error ,以第一 path 参数 p
,第二 path 参数 base
和作为错误码参数的 OS 错误码构造。若 OS API 调用失败,则接受 std::error_code& 参数的重载设置该参数为 OS API 错误码,而若不出现错误则执行 ec.clear() 。若内存分配失败,则任何不标记为 noexcept
的重载可能抛出 std::bad_alloc 。
示例
本节未完成 原因:暂无示例 |
参阅
(C++17) |
表示一个路径 (类) |
(C++17) |
组成一个绝对路径 (函数) |
(C++17) |
组成一个规范路径 (函数) |