Есть ли стандартный способ выполнить findfirst, findnext с помощью gcc в Linux, используя stl?

StackOverflow https://stackoverflow.com/questions/235422

  •  04-07-2019
  •  | 
  •  

Вопрос

Кажется, я не могу найти API _findfirst / findfirst, _findnext / findnext в gcc для Linux, и на самом деле я предпочел бы использовать для этого стандартную библиотеку шаблонов (STL), если она там включена.

Кто-нибудь знает, какой API доступен для перечисления файлов в каталоге Linux для C++ (gcc)?

Это было полезно?

Решение

Ознакомьтесь с Boost.Filesystem библиотека.

В частности, basic_directory_iterator .

Другие советы

Это не API в стиле C++, но API, который вы не можете найти (соответствующий метод findfirst/findnext в стиле Linux/Unix в стиле DOS/Windows), — это opendir/readdir/closedir.

Основное преимущество использования opendir/readdir/closedir заключается в том, что вам не нужна дополнительная библиотека (она является частью библиотеки C, которую вы уже используете).Фактически, библиотека файловой системы Boost использует opendir/readdir/closedir для получения списка файлов в каталоге.

Использованная литература:

STL пока не имеет функций для перечисления файлов в каталоге. Но у него есть функции для открытия файлов, о которых вы уже знаете.

Помимо Boost.Filesystem, есть также STLSoft

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top