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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| 1. int main()
2. {
3. int compter_mot_identique(char*, char*,int ,int );
4. int nb_foot=0,nb_cyclisme=0;
5. char*ch1,*chaine;
6. long lsize;
7. int carac=0,i=0;
8. char chemin[200];
9. char repertoire[15]="D:\\dossier";
10. DIR *rep= NULL;
11. struct dirent *fichierLu= NULL;
12. ......
13. .......
14.
15. foot = fopen("foot.txt", "r" );
16. if (NULL == foot)
17. {
18. printf("Impossible d'ouvrir le fichier de classe foot\n" );
19. return 1;
20. }
21. fseek (foot, 0 , SEEK_END); // Obtient la taille du fichier
22. lsize = ftell (foot);
23. rewind (foot);
24.
25. ch1 = (char*) malloc (lsize * sizeof(char));
26. carac = fgetc(foot);
27. while (carac != EOF)
28. {
29. while ( carac != ' ' && carac != '\n' && carac !=EOF ) // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)
30. {
31. ch1[i]= carac;
32. i++;
33. carac = fgetc(foot);
34. }
35. ch1[i]=' ';
36. carac = fgetc(foot);
37. i++;
38. }
39. longueur1=strlen(ch1);
40. i=0;carac=0; lsize =0;
41. fclose (foot);
42. ..
43. ....
44. ....
45.
46. rep =opendir(repertoire);
47. if (rep==NULL)
48. printf("erreur" );
49. fichierLu = readdir(rep);
50. while( fichierLu!=NULL)
51. {
52. if (strcmp(fichierLu->d_name, "." ) != 0 && strcmp(fichierLu->d_name, ".." ) != 0)
53. {
54. sprintf(chemin, "%s\\%s", repertoire, fichierLu->d_name);
55. fichier = fopen(chemin,"r" );
56.
57. if (NULL == fichier)
58. {
59. printf("Impossible d'ouvrir le fichier %s\n",fichierLu->d_name);
60. return 1;
61. }
62. fseek (fichier, 0 , SEEK_END); // Obtient la taille du fichier
63. lsize = ftell (fichier);
64. rewind (fichier);
65.
66. chaine = (char*) malloc (lsize * sizeof(char));
67. carac = fgetc(fichier);
68. while (carac != EOF)
69. {
70. while ( carac != ' ' && carac != '\n' && carac !=EOF ) // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)
71. {
72. chaine[i]= carac;
73. i++;
74. carac = fgetc(fichier);
75. }
76. chaine[i]=' ';
77. carac = fgetc(fichier);
78. i++;
79. }
80. longueur=strlen(chaine);;
81.
82.
83. //appel de la fonction
84. nb_foot=compter_mot_identique(chaine,ch1,longueur,longueur1);
85.
86. fclose (fichier);
87. free(chaine);
88. }
89. fichierLu = readdir(rep);
90. }
91. free(ch1);
92. if (closedir(rep)==-1)
93. {
94. printf("echec" );
95. }
96.
97. return(0);
98.
99. } |
Partager