Aide pour filtrer les réponses d'un printf

Fermé
mars2690 Messages postés 1 Date d'inscription dimanche 2 décembre 2012 Statut Membre Dernière intervention 2 décembre 2012 - 2 déc. 2012 à 17:46
 totof31 - 3 déc. 2012 à 09:44
Bonjour,



J'ai un code permettant de lister tout les fichiers et dossiers d'un répertoire (pour info je suis débutant dans la programmation).

Le voici :
#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 pour votre aide !

1 réponse

Bonjour,
Tu peux utiliser une fonction comme strstr :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man/manfr.php?ptd=man3/index.html