#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;
}
