Как получить последний каталог в std :: filesystem :: path? - PullRequest
3 голосов
/ 26 мая 2020

У меня есть путь к каталогу, и я хочу получить имя этого каталога, используя std::filesystem C ++. Например, если путь был:

std::filesystem::path fake_path("C:\\fake\\path\\to\\my_directory\\");

, я бы хотел получить «my_directory».

Я видел этот ответ и изначально предполагал, что то, что сработало in boost::filesystem не работал в std::filesystem, хотя это может быть неверно. В любом случае, я не верю, что это дубликат, потому что он конкретно спрашивает о boost::filesystem и пути, который заканчивается в файле.

Я могу придумать несколько других решений, таких как получение fake_path.end() - 2 или получение строки и разделение по разделителю, но ни одно из них не так просто, как могло бы быть fake_path.filename().

Есть ли чистый способ получить последнюю часть пути к каталогу, примерно эквивалентный вызову .filename() на пути к файлу?

1 Ответ

3 голосов
/ 26 мая 2020

Вы можете получить его, используя:

fake_path.parent_path().filename()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...