# std::filesystem::path::remove_filename

< cpp‎ | filesystem‎ | path

path& remove_filename(); |  | (C++17 起)

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

此函数完成后， `has_filename` 返回 false 。

### 参数

（无）

### 返回值

*this

### 异常

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

### 示例

    #include <iostream>
    #include <filesystem>
    namespace fs = std::filesystem;

    int main()
    {

        std::cout << fs::path("foo/bar").remove_filename() << '\n'
                  << fs::path("foo/").remove_filename() << '\n'
                  << fs::path("/foo").remove_filename() << '\n'
                  << fs::path("/").remove_filename() << '\n';
    }

输出：

    "foo/"
    "foo/"
    "/"
    "/"

### 参阅

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