#include #include "arbre_de_codage/arbre_binaire.c" #define ASCII_EXT 256 arbre huffman(arbre H, int Tp[], int Tl[]); void frequence(int Tp[], int Tl[], FILE *file); void tri_tab(int T[],int T2[],int n); void afficher_tab(int Tp[], int Tl[], int n); void init_tab(int T[], int Elt, int n); // main_compress.c [nom_du_fichier_a_compresser] int main(int argc, char **argv){ FILE *file; const char *filename = argv[1]; const char *mode= "rb"; // Vérification de l'existance du second argument (Nom du fichier à compresser) printf("Argc : %d\n",argc); if(argc != 2){ printf("\nErreur : Veuillez mettre en argument un nom de fichier à compresser (Ex: %s text.txt)\n",argv[0]); return -1; } // Vérification de l'ouverture du fichier en mode lecture binaire !! FONCTION A MODIFIER else if(!(file=fopen(filename,mode))){ printf("\nErreur : Fichier %s inexistant\n",filename); return -2; } // Récupérer fréquence int Tp[ASCII_EXT],Tl[ASCII_EXT]; init_tab(Tp,-1,ASCII_EXT); init_tab(Tl,-1,ASCII_EXT); int compteur; compteur=0; frequence(Tp,Tl,file); // Tri tri_tab(Tp,Tl,ASCII_EXT); afficher_tab(Tp,Tl,ASCII_EXT); arbre huff; huff = huffman(creer_arbre_vide(),Tp,Tl); return 0; } void init_tab(int T[], int Elt, int n){ int i; for(i=0;iT[j]){ tmp=T[i]; tmp2=T2[i]; T[i]=T[j]; T2[i]=T2[j]; T[j]=tmp; T2[j]=tmp2; } } } } void afficher_tab(int Tp[], int Tl[], int n){ printf("\n"); int i; for (i=0;i