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 <filesystem> #include <iostream> 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
|   returns the file extension path component  (public member function)  | |
|   returns the stem path component (filename without the final extension)  (public member function)  | |
|   replaces the last path component with another path  (public member function)  | |
|   checks if the corresponding path element is not empty  (public member function)  |