This repository has been archived on 2022-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
Huffman/main.c
2021-12-19 20:29:31 +01:00

87 lines
2.3 KiB
C

#include <string.h>
#include "liste.h"
#include "arbre.h"
// Affiche le message d'aide
void help(char const progName[]);
int main(int argc, char const *argv[]) {
/* Morceau de code qui m'a permis de testé `liste.c`
Liste l = NULL;
FILE *f;
if ((f = fopen("res_fprintf.txt", "w")) == NULL) {
printf("Erreur lors de l'ouverture du fichier.\n");
return 1;
}
ajouterLettre(&l, 'a');
ajouterLettre(&l, 'c');
ajouterLettre(&l, 'c');
ajouterLettre(&l, 'b');
ajouterLettre(&l, 'b');
ajouterLettre(&l, 'b');
ajouterLettre(&l, 'b');
ajouterLettre(&l, 'c');
ajouterLettre(&l, 'e');
trierListe(&l);
Cellule *c = allouerCellule('x');
c->frequence=2;
ajouterRangee(&l, c);
ajouterLettre(&l, 'r');
Cellule *d = allouerCellule('w');
ajouterRangee(&l, d);
afficherListe(l, f);
fclose(f);
viderListe(l);
*/
if (argc < 2) { // si aucun argument
printf("Aucun argument n'a été renseigné.\n");
help(argv[0]); // affichage du message d'aide
return 1;
}
if (argc == 2) { // si un seul argument de renseigné
if (strcmp(argv[1], "--help") == 0) { // affiche le message d'aide
help(argv[0]);
return 2;
}
printf("compress...");
return 0;
}
if (argc > 3) { // s'il y a plus de 3 arguments
printf("Trop d'arguments renseignés.\n");
help(argv[0]); // affichage du message d'aide
return 1;
}
if (strcmp(argv[1], "-d") == 0 && argc == 3) { // s'il y a 3 arguments et que l'option `d` est renseigné
printf("decompress...");
return 0;
}
// Si quelque chose ne s'est pas passé comment prévu
printf("Arguments incorrect, réessayez.\n");
help(argv[0]); // affichage du message d'aide
return 1;
}
void help(char const progName[]) {
printf("=================================== HUFFMAN ===================================\n");
printf("-> %s <fichier> || Construit le fichier <fichier>.huff compressé.\n", progName);
printf("-> %s -d <fichier>.huff || Décompresse le fichier préalabrement compressé.\n", progName);
printf("-> %s --help || Affiche ce message d'aide.\n", progName);
printf("===============================================================================\n");
}