I can't seem to find the _findfirst / findfirst, _findnext / findnext API on gcc for Linux, and would actually rather use the Standard Template Library (STL) for that if it is included there.

Does anyone know what API there is available for listing files in a directory under Linux for C++ (gcc)?

Was it helpful?


Check out the Boost.Filesystem library.

In particular, the basic_directory_iterator.


It's not a C++-style API, but the API you aren't finding (the Linux/Unix correspondent of DOS/Windows-style findfirst/findnext) is opendir/readdir/closedir.

The main advantage of using opendir/readdir/closedir is that you do not need any extra library (it's part of the C library, which you are already using). In fact, the Boost filesystem library uses opendir/readdir/closedir to get the list of files in a directory.


The STL does not, yet, have functions for listing files in a directory. But it does have functions for opening files you are already aware of.

Aside from Boost.Filesystem, there is also STLSoft

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow