Bien le bonjour à vous !
J'ai un petit soucis pour lister le contenu d'un dossier contenant deux images, voici mon code :
et voici ce que j'obtiens dans ma console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30 #include <stdio.h> #include <dirent.h> #include <stdlib.h> #include <string.h> #define EXT ".jpg" #define PATH "/home/flaherty/Documents/convertisseur/images/" int main(void) { DIR *dir = opendir (PATH); struct dirent *dp; int filecount = 0; if (dir == NULL) { printf("pas de dossier"); } while ((dp = readdir (dir)) != NULL) //tant qu'il y'a des fichiers non lu dans le dossier { filecount++; printf("%s\n", dp->d_name); } printf("\nil y a %d trucs dans ce putain de dossier\n\n",filecount); return 0; }
Et maintenant ma super question : pourquoi dans la structure créer par readdir, on a ces entrées faites de points qui fausse le comptage du nombre d'objets contenu par le dossier ? Et comment les virer ?.
image1.raw
..
image2.jpg
il y a 4 trucs dans ce putain de dossier
Ah et pendant que j'y suis je vais vous poser une petite question théorique, en fait ce que je veux faire c'est ouvrir toutes les images jpg du dossier, pour cela une fois le contenu du dossier listé, je compte chercher le caractère "." avec strchr et comparer ce qui suit avec mon extension ".jpg" en utilisant strcmp pour savoir quels sont les fichier à ouvrir. C'est une bonne méthode ?
Merci beaucoup
Partager