Aide pour filtrer les réponses d'une boucle.
Bonjour,
J'ai un code permettant de lister tout les fichiers et dossiers d'un répertoire.
Le voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#include <stdlib.h>/* pour exit()*/
#include <stdio.h>/* pour puts() */
#include <dirent.h>/* Pour l'utilisation des dossiers */
#include <errno.h>
#ifndef WIN32
#include <sys/types.h>
#endif
int main()
{
DIR* rep = NULL;
struct dirent* fichierLu = NULL; /* Déclaration d'un pointeur vers la structure dirent. */
rep = opendir("C:\\Windows");
if (rep == NULL)
perror(""); /*perror donne le détail de l'erreur suite a ouverture du repertoire */
fichierLu = readdir(rep); /* On lit le premier répertoire du dossier. */
while ((fichierLu = readdir(rep)) != NULL)
printf("%s\n", fichierLu->d_name);
if (closedir(rep) == -1)
exit(-1);
return 0;
} |
Seulement, je voudrais pouvoir 'filtrer' les résultats.
C'est à dire, n'avoir dans la listes, que des fichiers ou dossiers commencent ou contenant les mots "driver" par exemple.
Pouvez-vous m'aider la dessus ?
Merci d'avance !