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;
} |
Partager