#include <stdio.h>
#include <stdlib.h>

int copier_fichier(const char *source, const char *dest){
    int octet;
    FILE *fichier_source, *fichier_dest;
    fichier_source = fopen(source, "rb");
    if (fichier_source == NULL) {
        perror("Erreur lors de l'ouverture du fichier source");
        exit(EXIT_FAILURE);
    }
    fichier_dest = fopen(dest, "wb");
    if (fichier_dest == NULL) {
        perror("Erreur lors de l'ouverture du fichier source");
        exit(EXIT_FAILURE);
    }
    while((octet = fgetc(fichier_source)) != EOF){
        fputc(octet, fichier_dest);
    }
    fclose(fichier_source);
    fclose(fichier_dest);
    printf("Copie terminé avec grand succès!\n");
    return EXIT_SUCCESS;
}

int main(int argc, char *argv[]){
    if (argc != 3) {
        printf("Usage : %s [-a] <fichier_source> <fichier_destination>\n", argv[0]);
        return EXIT_FAILURE;
    }
    if (copier_fichier(argv[1], argv[2]) == 0){
        printf("Fichier copié avec succès de %s vers %s\n", argv[1], argv[2]);
        return EXIT_SUCCESS;
    } else{
        printf("Echec de la copie");
        return EXIT_FAILURE;
    }
}