Added user interface with error handling and help message
This commit is contained in:
parent
2b56ac0f1e
commit
c51df162fe
1 changed files with 49 additions and 0 deletions
49
main.c
49
main.c
|
@ -0,0 +1,49 @@
|
|||
#include "compression.h"
|
||||
#include "decompression.h"
|
||||
|
||||
// Affiche le message d'aide
|
||||
void help(char const progName[]);
|
||||
|
||||
int main(int argc, char const *argv[]) {
|
||||
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;
|
||||
}
|
||||
|
||||
// compress(argv[2], argv[3]);
|
||||
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é
|
||||
// decompress(argv[2], argv[3]);
|
||||
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");
|
||||
}
|
Reference in a new issue