Namespaces
Variants

std::filesystem::path:: remove_filename

From cppreference.net
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

参见

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