fichiers bug indétectable
bon voila, j'ai retourner le problème dans tout les sens et je voit pas pourquoi le programme se comporte mal...
on as deux fichiers file1 et file2
un autre fichier fileR qui contiendra tout les élements qui sont à la fois dans file1 et dans file2.
fileR = file1 /\ file2
Code:
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
|
void intersection(const char* file1, const char* file2) {
FILE *p_file1 = fopen(file1,"r"); // mode lecture seule
if (!p_file1) {printf("Erreur! Le fichier n'existe pas!\n"); return;}
FILE *p_file2 = fopen(file2,"r");
if (!p_file2) {printf("Erreur! Le fichier n'existe pas!\n"); return;}
printf("Fichier résultat.\n");
char Name[MAX];
FILE *p_fileR = fopen(saisie(Name),"w");
if (!p_fileR) {printf ("Erreur de création\n"); return;}
t_element dataf1 = lire_element (p_file1);
while (!feof(p_file1))
{
rewind(p_file2); // se placer en début de fichier
t_element dataf2 = lire_element (p_file2);
while (!feof(p_file2)) {
if (comparer_data(dataf1, dataf2)) {
fprintf(p_fileR, "%s %s %d\n", dataf2.nom, dataf2.prenom, dataf2.taille);
break;
}
dataf2 = lire_element (p_file2);
}
dataf1 = lire_element (p_file1);
}
fclose(p_file2); fclose(p_file1); fclose(p_fileR);
printf("enregistrement terminé.\n");
return;
} |
le problème, c'est que le fichier résultat contient les éléments de file2... et je ne comprend pas ou est l'erreur.