std::filesystem::path::remove_filename
From cppreference.com
path& remove_filename(); |
(since C++17) | |
Removes a single generic-format filename component (as returned by filename) from the given generic-format path.
After this function completes, has_filename returns false.
Parameters
(none)
Return value
*this
Exceptions
May throw implementation-defined exceptions.
Example
Run this code
#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';
}
Output:
"foo/" false
"foo/" false
"/" false
"/" false
"" false
See also
| returns the filename 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) |