Получение каталога листа

У меня есть несколько старых версий кода Boost, которые используют функцию-член leaf () класса path в библиотеке файловой системы Boost. Однако, пытаясь скомпилировать его недавно, я заметил, что это исчезло и устарело.

Задача, которую он выполняет, — получить все каталоги, которые находятся в указанной папке, и сохранить их.

Ради этого примера, давайте просто скажем, что я выводил их на консоль.

Например, каталоги могут быть:

/home/user/dir/

/home/user/dir/one

/home/user/dir/two

/hone/user/dir/three

Поэтому я передаю / home / user / dir в directory_iterator и проверяю, является ли это каталогом, используя is_directory (). Я хотел бы напечатать последнюю часть путей, так что …

one
two
three

Я знаю, что мог бы выполнить некоторые манипуляции со строками, выполнив поиск последнего / и т. Д., Но я хотел бы знать, есть ли еще способ сделать это, используя класс path.

1

Решение

Как я могу читать из Повысить документацию, метод leaf () был заменен на filename (). Вы можете получить все элементы, используя итераторы. Больше Учебник по файловой системе Boost, в том числе рабочий пример использования.

0

Другие решения

Других решений пока нет …