Existe-t-il un moyen standard de faire findfirst, findnext avec gcc sur linux en utilisant stl?
Question
Je n'arrive pas à trouver l'API _findfirst / findfirst, _findnext / findnext sur gcc pour Linux, et utiliserais plutôt la bibliothèque de modèles standard (STL) si elle y est incluse.
Quelqu'un sait-il quelle API existe pour la liste des fichiers dans un répertoire sous Linux pour C ++ (gcc)?
La solution
Découvrez le Boost.Filesystem . bibliothèque.
En particulier, le basic_directory_iterator .
Autres conseils
Ce n'est pas une API de style C ++, mais celle que vous ne trouvez pas (le correspondant Linux / Unix de find / first / findnext dans le style DOS / Windows) est opendir / readdir / closedir.
Le principal avantage de l'opendir / readdir / closedir est que vous n'avez besoin d'aucune bibliothèque supplémentaire (elle fait partie de la bibliothèque C que vous utilisez déjà). En fait, la bibliothèque de systèmes de fichiers Boost utilise opendir / readdir / closedir pour obtenir la liste des fichiers dans un répertoire.
Références:
La STL n’a pas encore de fonctions pour lister les fichiers dans un répertoire. Mais il a des fonctions pour ouvrir les fichiers que vous connaissez déjà.
Outre Boost.Filesystem, il existe également des STLSoft
.