5

我有一个目录的路径,我想使用 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或获取字符串以及在分隔符上拆分,但它们都不像fake_path.filename()以前那么简单。

有没有一种干净的方法来获取目录路径的最后一部分,大致相当于调用.filename()文件的路径?

4

1 回答 1

9

您可以使用以下方法获取它:

fake_path.parent_path().filename()
于 2020-05-26T09:21:26.520 回答