comparer deux fichiers & ecrire la difference dans un 3ème fichier
bonjour,
debutant en programmation en c, j'ai besoin de votre aide.
je cherche un creer un petit programme pour comparer deux fichier txt et ecrire la difference dans un troisiemme fichier.
j'ai fai un petit programme, j'arrive a faire la comparaison mais il ecrit plusieur fois la difference dans mon troisiemme fichier.
en gros ce que je cherche a faire c'est:
je lis la premiere ligne de mon premier fichier
et je la compare avec toute les ligne de mon deuxiemme fichier
si la ligne de mon fichier1 et != de toute les ligne de mon fichier2 je l'ecris dans mon fichier 3
et je continue avec la seconde ligne de mon fichier1 etc etc etc.......
voila ce que j'ai deja fait:
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 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 100 101 102 103 104 105 106 107
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *resultats, *impaire, *final;
printf("Debut du programme\nPatientez...\n\n");
char s[100], s2[100],s3[100];
char* filename1 = "resultats.txt";
char* filename2 = "impaire.txt";
char* filename3 = "final.txt";
resultats = fopen(filename1, "r" );
if (resultats == NULL)
{
printf("Unable to open file %s\n", filename1);
return 1;
}
impaire = fopen(filename2, "r" );
if (impaire == NULL)
{
printf("Unable to open file %s\n", filename2);
return 1;
}
final = fopen(filename3, "w" );
if (final == NULL)
{
printf("Unable to open file %s\n", filename3);
return 1;
}
while (fgets(s, 100, resultats) != NULL)
{
rewind(impaire);
while (fgets(s2, 100, impaire) != NULL)
{
printf ("%s",s);
printf ("%s\n",s2);
if(strcmp(s2, s) !=0)
{
strcpy(s3,s);
fprintf(final,"%s",s3);
}
}
}
fclose(resultats);
fclose(impaire);
fclose(final);
return 0;
} |
help me please merci