如何获取std::filesystem::path中的最后一个目录?
How to get the last directory in a std::filesystem::path?
我有一个目录路径,我想使用 C++ std::filesystem
获取该目录的名称。例如,如果路径是:
std::filesystem::path fake_path("C:\fake\path\to\my_directory\");
我想要 "my_directory".
我看过 并最初假设在 boost::filesystem
中有效的方法在 std::filesystem
中无效,尽管这可能不正确。无论哪种方式,我都不认为这是重复的,因为那个是专门询问 boost::filesystem
和以文件结尾的路径。
我可以想到其他几种解决方案,例如获取 fake_path.end() - 2
或获取字符串并在分隔符上拆分,但其中 none 与 fake_path.filename()
一样简单'去过。
是否有一种简洁的方法来获取目录路径的最后一部分,大致相当于在文件路径上调用 .filename()
?
您可以通过以下方式获得它:
fake_path.parent_path().filename()
我有一个目录路径,我想使用 C++ std::filesystem
获取该目录的名称。例如,如果路径是:
std::filesystem::path fake_path("C:\fake\path\to\my_directory\");
我想要 "my_directory".
我看过 boost::filesystem
中有效的方法在 std::filesystem
中无效,尽管这可能不正确。无论哪种方式,我都不认为这是重复的,因为那个是专门询问 boost::filesystem
和以文件结尾的路径。
我可以想到其他几种解决方案,例如获取 fake_path.end() - 2
或获取字符串并在分隔符上拆分,但其中 none 与 fake_path.filename()
一样简单'去过。
是否有一种简洁的方法来获取目录路径的最后一部分,大致相当于在文件路径上调用 .filename()
?
您可以通过以下方式获得它:
fake_path.parent_path().filename()