54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int compare_fichiers(const char *nom_fichier1, const char *nom_fichier2) {
|
|
FILE *fichier1 = fopen(nom_fichier1, "rb");
|
|
FILE *fichier2 = fopen(nom_fichier2, "rb");
|
|
|
|
if (fichier1 == NULL || fichier2 == NULL) {
|
|
perror("Erreur lors de l'ouverture des fichiers");
|
|
return -1;
|
|
}
|
|
|
|
int caractere1, caractere2;
|
|
|
|
while (1) {
|
|
caractere1 = fgetc(fichier1);
|
|
caractere2 = fgetc(fichier2);
|
|
|
|
if (caractere1 != caractere2) {
|
|
fclose(fichier1);
|
|
fclose(fichier2);
|
|
return 0; /*Les fichiers ne sont pas identiques*/
|
|
}
|
|
|
|
if (caractere1 == EOF) {
|
|
break; /*Fin des fichiers*/
|
|
}
|
|
}
|
|
|
|
fclose(fichier1);
|
|
fclose(fichier2);
|
|
|
|
return 1; /*Les fichiers sont identiques*/
|
|
}
|
|
|
|
int main(int argc, char *argv[]) {
|
|
if (argc != 3) {
|
|
fprintf(stderr, "Usage: %s <fichier1> <fichier2>\n", argv[0]);
|
|
return EXIT_FAILURE;
|
|
}
|
|
|
|
int resultat = compare_fichiers(argv[1], argv[2]);
|
|
|
|
if (resultat == 1) {
|
|
printf("Fichiers identiques !\n");
|
|
} else if (resultat == 0) {
|
|
printf("Fichiers non identiques !\n");
|
|
} else {
|
|
return EXIT_FAILURE;
|
|
}
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|