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
(none)
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'; }
Possible output:
"bar.txt" ".bar" "" "." ".." "." ".." "" "host"
See also
|    returns the file extension path component  (public member function)  | |
|    returns the stem path component  (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)  |