# std::filesystem::path::filename

From cppreference.com
< cpp‎ | filesystem‎ | path

path filename() const; |  | (since C++17)

Returns the generic-format filename component of the path.

Equivalent to relative_path().empty() ? path() : *--end().

### Parameters

(none)

### Return value

The filename identified by the path.

### Exceptions

May throw implementation-defined exceptions.

### Example

Run this code

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

    int main()
    {
        std::cout
            << fs::path( "/foo/bar.txt" ).filename() << '\n'
            << fs::path( "/foo/.bar"    ).filename() << '\n'
            << fs::path( "/foo/bar/"    ).filename() << '\n'
            << fs::path( "/foo/."       ).filename() << '\n'
            << fs::path( "/foo/.."      ).filename() << '\n'
            << fs::path( "."            ).filename() << '\n'
            << fs::path( ".."           ).filename() << '\n'
            << fs::path( "/"            ).filename() << '\n'
            << fs::path( "//host"       ).filename() << '\n';
    }

Output:

    "bar.txt"
    ".bar"
    ""
    "."
    ".."
    "."
    ".."
    ""
    "host"

### See also

extension | returns the file extension path component (public member function)
stem | returns the stem path component (filename without the final extension) (public member function)
replace_filename | replaces the last path component with another path (public member function)
has_filename | checks if the corresponding path element is not empty (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/path/filename&oldid=136614"