2022-12-15 22:27:05 +01:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
2022-12-16 16:59:35 +01:00
|
|
|
#include <string.h>
|
2022-12-15 22:27:05 +01:00
|
|
|
#include "fonctions.h"
|
|
|
|
|
|
|
|
int main(int argc, char *argv[]) {
|
|
|
|
FILE *f_m, *f_k, *f_mc; /* strcutures permettant, une fois FOPEN
|
|
|
|
exécuté de recupérer des informations pour manipuler les fichiers
|
|
|
|
en C */
|
2022-12-16 12:28:09 +01:00
|
|
|
char * cheminFic_m = argv[2];
|
2022-12-16 16:59:35 +01:00
|
|
|
int c,count=0;
|
2022-12-16 12:28:09 +01:00
|
|
|
|
2022-12-16 16:59:35 +01:00
|
|
|
|
|
|
|
/* recupération sur la ligne de commande des noms de fichiers et option (-c pour
|
|
|
|
codage, -d pour décodage) : message cle message_calculé
|
2022-12-15 22:27:05 +01:00
|
|
|
|
2022-12-16 16:59:35 +01:00
|
|
|
./code -c f1 f2 f3
|
|
|
|
./code -d f1 f2 f3
|
2022-12-15 22:27:05 +01:00
|
|
|
|
|
|
|
*/
|
2022-12-16 16:59:35 +01:00
|
|
|
|
|
|
|
// Si l'option donnée en premier argument est "-c", alors on génère une clé
|
|
|
|
// aléatoirement et on code le message avec
|
|
|
|
if(strcmp(argv[1], "-c")==0)
|
2022-12-16 12:28:09 +01:00
|
|
|
{
|
2022-12-16 16:59:35 +01:00
|
|
|
// Parcours le fichier du message à coder pour connaitre le nombre de caractères présents.
|
|
|
|
f_m = fopen(cheminFic_m, "r");
|
|
|
|
if(f_m==NULL)
|
|
|
|
{
|
|
|
|
return EXIT_FAILURE;
|
|
|
|
}
|
|
|
|
for (c = getc(f_m); c != EOF; c = getc(f_m))
|
|
|
|
{
|
|
|
|
count = count + 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Génère une clé aléatoire
|
|
|
|
generate(count, argc, argv);
|
|
|
|
|
|
|
|
// Code le message
|
2022-12-15 22:27:05 +01:00
|
|
|
codage(argc, argv);
|
|
|
|
}
|
|
|
|
|
2022-12-16 16:59:35 +01:00
|
|
|
/* Si l'option donée en premier argument est "-d", alors on décode le message
|
|
|
|
donné en 2eme argument en mettant le résultat dans un nouveau fichier nommé
|
|
|
|
en 4eme argument
|
|
|
|
*/
|
|
|
|
else if(strcmp(argv[1], "-d")==0)
|
2022-12-16 12:28:09 +01:00
|
|
|
{
|
2022-12-16 16:59:35 +01:00
|
|
|
// Décode le message codé
|
2022-12-15 22:27:05 +01:00
|
|
|
decodage(argc, argv);
|
|
|
|
}
|
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|