¿Hay una forma estándar de buscar primero, buscar siguiente con gcc en linux usando stl?
Pregunta
Parece que no puedo encontrar la API _findfirst / findfirst, _findnext / findnext en gcc para Linux, y prefiero usar la Biblioteca de plantillas estándar (STL) para eso si está incluida allí.
¿Alguien sabe qué API hay disponible para listar archivos en un directorio bajo Linux para C ++ (gcc)?
Solución
Echa un vistazo a la Boost.Filesystem biblioteca.
En particular, el basic_directory_iterirector .
Otros consejos
No es una API de estilo C ++, pero la API que no está encontrando (el corresponsal de Linux / Unix de findfirst / findnext de estilo DOS / Windows) es opendir / readdir / closedir.
La principal ventaja de usar opendir / readdir / closedir es que no necesita ninguna biblioteca adicional (es parte de la biblioteca C, que ya está usando). De hecho, la biblioteca del sistema de archivos Boost utiliza opendir / readdir / closedir para obtener la lista de archivos en un directorio.
Referencias:
El STL todavía no tiene funciones para listar archivos en un directorio. Pero tiene funciones para abrir archivos que ya conoce.
Además de Boost.Filesystem, también hay STLSoft