std::filesystem::path::remove_filename

来自cppreference.com
< cpp‎ | filesystem‎ | path
 
 
 
 
path& remove_filename();
(C++17 起)

从给定的通用格式路径移除单个通用格式文件名组分(由 filename 返回)。

此函数完成后,has_filename 返回 false

参数

(无)

返回值

*this

异常

可能会抛出由实现定义的异常。

示例

#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
 
int main()
{
    fs::path p;
    std::cout << std::boolalpha
              << (p = "foo/bar").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "foo/").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "/foo").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "/").remove_filename() << '\t' << p.has_filename() << '\n'
              << (p = "").remove_filename() << '\t' << p.has_filename() << '\n';
}

输出:

"foo/"  false
"foo/"  false
"/"     false
"/"     false
""      false

参阅

返回文件名路径组分
(公开成员函数)
以另一路径替换最末的路径组分
(公开成员函数)
检查对应路径元素是否非空
(公开成员函数)