Bonjour,
Je crée un programme pour renommer (de 0 à 3000) une série de photos contenues dans différents sous-dossiers de mon dossier "images".

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <windows.h>
 
int traiter_rep(DIR* repertoire[], struct dirent* fichierLu, int* p_i, int n, char buffer[])
{
 
    n++; /* incrémente le "niveau" de sous repertoire par rapport au rep parent */
    while((fichierLu = readdir(repertoire[n])) != NULL)
    {
        printf("\n%s   ", fichierLu->d_name); /*Affiche nom du fichier*/
 
        if ((!strstr(fichierLu->d_name,"."))&& opendir(fichierLu->d_name)!= NULL) /* Si fichier est un dossier (ne contient pas de ".") */
        {
            traiter_rep(repertoire, fichierLu, p_i, n, buffer);
            continue;
 
        }
 
        if (strstr(fichierLu->d_name,".jpg")||(strstr(fichierLu->d_name,".jpeg"))) /*Si fichier lu = image jpg ou jpeg*/
        {
            /*Copie du nom de fichier en metadonnées "TITRE" :
 
            NOTE: J'ai pas encore trouvé comment faire
            */
 
 
 
            /*Genreation d'un nouveau nom de fichier: */
            *p_i++;
            snprintf (buffer, sizeof buffer, "%06d.jpg",*p_i);
            printf ("\n          JPEG DETECTED -> NEW NAME: %s",buffer);
            rename(fichierLu->d_name, buffer);
 
 
        }
        printf("\n\n\n%i photos trait\202es\n",*p_i);
    }
}
 
int main()
{
int i=0, j=0, n=0;
int *p_i=&i;
char buffer[128];
 
DIR* repertoire[10];
for (j=0; j<10; j++)
    repertoire[j] = NULL;
 
 
struct dirent* fichier_en_cours = NULL;
 
repertoire[1] = opendir(".");
if (repertoire[1] == NULL)
    exit(1);
 
 
 
traiter_rep(repertoire, fichier_en_cours, p_i, n, buffer);
 
 
 
printf("%i photos trait\202es\n\n",i);
printf("Programme execut\202 avec succ\212s \n\n");
system("PAUSE");
return 0;
}
Aucune erreur de compilation ,mais à l'execution, les noms de fichiers sont pas du tout incrémentés, ils semblent aléatoires, et l'extension .jpg à disparue.. De plus, toutes les photos ne sont pas traitées..

Voyez-vous mon (mes) erreur(s) ?

Merci d'avance

Raphaël