GCstar est un gestionnaire de collection (Filmes, livres, jeux vidéo, ...) qui tourne sous Linux (Apparemment aussi sous Windows).
J'ai voulu m'en servir il y a quelque temps pour ma collection de DivX. GCstar dispose d'un module très sympathique qui permet d'aller récupérer les infos sur un filmes à partir de son nom. UN gain de temps énorme. Il suffit simplement de taper tous les nom un par un.

Et c'est la le problème. Taper des nom un par un, faire attention de pas en louper, penser à mettre à jours la collection et pas faire de doublons... Oui, je râle un peu pour pas grand chose, mais...
J'ai donc chercher dans les options d'importation, GCstar reconnait pas mal de format différent, dont le .txt, ça devient intéressant ! On peut lui passé une liste de filme en format texte (un nom par ligne) et il s'occupe tous seul d'aller chercher les bonnes infos sur le net ! C'est ce qu'il me faut.
J'ouvre donc Gedit, une console et je fait chauffer GCC. La problématique est simple : Lister tous les fichiers d'un répertoire donné récursivement. Là comme ça, rien ne m'est venu à l'esprit sur le méthode pour le faire, alors j'ai cherché et essayé pas mal de bout de code plus ou moins complexe. J'ai finis par arriver à me faire un bout de code assez simple qui fasse ce que je lui demande.
Je partage donc ces quelques lignes de codes, qui peuvent s'avérer très utiles dans certains cas !
Il faut vraiment regarder que la structure, le but original du programme est à moitié atteint. Je suppose qu'il n'y à que des fichiers .avi dans les dossiers, qu'ils sont bien formés (pas de . ou de - à la place des espaces) et pas mal de petites choses dans le genres. Donc encore du travail pour l'objectif premier, mais c'est une bonne base pour comprendre comment lister les fichiers d'un dossiers récursivement.
A noter aussi que le code est portable windows/linux sans bidouillage.
liste.c