Developpement/23DEV1.1/TPS1/TP2/controle/CM2_2022/2Reproduction.c

54 lines
1.2 KiB
C
Raw Permalink Normal View History

2024-12-09 11:53:11 +01:00
#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;
}