From 9926a7472aa77feae6ee635414ebd8ab5fb38688 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sat, 25 Dec 2021 14:03:38 +0100 Subject: [PATCH] [DRAFT] Add method to decode the huffmanized file --- arbre.c | 14 ++++++++++++-- arbre.h | 6 ++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/arbre.c b/arbre.c index 4ab172e..e36a7c8 100644 --- a/arbre.c +++ b/arbre.c @@ -157,8 +157,18 @@ Entete recuperationLettre(char lettre, Entete *enteteListe, int nombreLettresDan exit(1); } +Arbre lectureDonnes(FILE *fichier) { + // TODO +} + +void huffmanDepuisFichier(FILE *fichier, Arbre arbre) { + // TODO +} + void decompression(FILE *entree, FILE *sortie) { /* fclose temporaire pour supprimer les warnings */ - fclose(entree); - fclose(sortie); + Arbre arbre = lectureDonnes(entree); + huffmanDepuisFichier(sortie, arbre); + + freeArbre(arbre); // on libère l'arbre } diff --git a/arbre.h b/arbre.h index c57906f..4999c93 100644 --- a/arbre.h +++ b/arbre.h @@ -54,4 +54,10 @@ void huffmanVersFichier(FILE *entree, FILE *sortie, Entete *enteteListe, int nom // Récupère les infos d'une lettre depuis l'entête. Entete recuperationLettre(char lettre, Entete *enteteListe, int nombreLettresDansFichier); +// Lis les données d'un fichier .huff et le transforme en Arbre binaire Huffman (struct Arbre). +Arbre lectureDonnes(FILE *fichier); + +// Retranscris l'arbre de Huffman en fichier lisible. +void huffmanDepuisFichier(FILE *fichier, Arbre arbre); + #endif