Je dois en fait créér un synchroniseur de fichier et pour cela je dois comparer 2 repertoires, avec leur fichier respectifs.
J'utilise la méthode parcours pour mettre les noms des fichiers dans un tableau.
Le pb est que pour le premier tableau certains noms ne sont pas en entier :
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
71
72
73
74
75 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #include <limits.h> #include <sys/stat.h> #include <time.h> #include <fcntl.h> #include <string.h> #include <stddef.h> #include <dirent.h> #define BUFFER_SIZE 4096 char buf[BUFFER_SIZE]; char ** parcours(char *rep, char **tab) { DIR *drep; int i = 0; struct dirent *de; struct stat b; drep=opendir(rep); if(!drep){ printf("Erreur d'ouverture du repertoire\n"); return; } tab = malloc(sizeof(char*) * 1000); while((de=readdir(drep))!=NULL) { if(!(strcmp(de->d_name,".")==0)||!(strcmp(de->d_name,"..")==0)){ tab[i] =de->d_name; //printf("%d %s \n", i, tab[i]); i++; } //faire cas ou c un repertoire } closedir(drep); return(tab); } int main (int argc, char **argv) { char **tabA, **tabB; int i; int existA, existB; if(argc==1) { printf("pas assez d'arguments"); } tabA = parcours(argv[1], tabA); tabB = parcours(argv[2], tabB); int j; for(j=0; j<longueur(tabB); j++ ) { printf("file A : %s \n",tabA[j]); printf("file B : %s \n",tabB[j]); } }
Dans cet exemple j'utilise 2 repertoires (identiques) qui contiennent tt les 2 les fichiers file A : copy.tar.tar
copy.tar.tar
introduction.pdf
io-fichiers.pdf
TD TP (repertoire)
lorsque je lance le programme avec en argument les 2 noms de fichiers cela me donne :
file A : .
file B : .
file A : ..
file B : ..
file A : copy.tar.tar
file B : copy.tar.tar
file A : tion.pdf
file B : introduction.pdf
file A : ers.pdf
file B : io-fichiers.pdf
file A : TD TP
file B : TD TP
dans le tableau A, introduction.pdf et io-fichiers. n'ont pas leur nom en entier. pouvez vous m'aidez? je ne comprends pas le pb. surtout que si je ne lance pa la méthode parcours ac le tableauB et uniquement avec le A, il est normal.
Partager