[ HELP ] Aidez moi a faire fonctionner ce zip en C please

Aidez moi a faire fonctionner ce zip en C please [ HELP ] - C++ - Programmation

Marsh Posté le 04-05-2002 à 17:01:44    

Arf je sait qu'il y en a parmis vous qui touchez un peu en C  
 
Moi malheuresement c'est pas trop mon cas.  
J'explique mon tourment :  
 
Je dois rendre pour lundi :cry: un projet C sur la compression/décompression Zip
 
N'étant bien évidament pas à meme de torcher ca tout seul (avec les pauv' 40 h de cours qu'on a eu au premier semèstre) j'ai cherché des choses sur internet. Et j'ai trouvé les prog complet, mais je me sens tout paumé avec.  
 
Alors bon, je me doute que si y'a quelqu'un qui veut bien m'aider ca lui prendra un peu de son temps personnel, mais 1 : ca serait vraiment sympa et 2 : je pense pas qu'il y en ai pour trop longtemps.  
 
Enfin bref, voici les fichiers qui composent le prog (6 au total)  
 
http://addle.free.fr/tom/Divers/comp_decomp.zip  
 
-Ce qui serait vraiment sympa, c'est de me dire si il ya pas d'erreurs dans le programme (a priori je pense pas)  
-De me dire que ce qui ne va pas avec le makefile. Because j'arrive pas à le faire fonctionner ( il me fait une erreur) . le .zip que je fourni comporte 2 fichier makefile (l'original etant celui celui dans le rep original, l'autre etant refait par moi). Pour info, les fichiers sont bien nommés.  
 
Voilà je sait que ca prend du temps. On peut se contacter pour plus d'info sur icq, ou par mail ou pigeon voyageur  :)

Reply

Marsh Posté le 04-05-2002 à 17:01:44   

Reply

Marsh Posté le 04-05-2002 à 18:50:01    

Personne ? Sniff :cry:

Reply

Marsh Posté le 04-05-2002 à 19:02:04    

Le zip dont tu parles, il doit faire des vrais .zip (ouvrables avec Winzip ?) ? Sinon il y a moyen de faire des trucs de compression simples.

Reply

Marsh Posté le 04-05-2002 à 19:06:24    

Si tu avais des trucs simples, ça m'arrangerait pas mal :love:  
Parce qu'on est en train d'essayer avec l'algo de Huffman et on galere trop :cry:

Reply

Marsh Posté le 04-05-2002 à 19:37:26    

le prog a lair de marcher plutot bien malgre le seg fault si le fichier texte.txt n existe pas (arrange ca car c pas grand chose et c BIEN!)
 
sinon j ai du faire un Makefile car le tien ne passer pas chez moi (NetBSD)
 
je te le mets au cas ou ca t interesserait : (fais attention au tab qui partent avec le copier-coller
 
 
NAME    = comp
 
CC      = gcc
 
 
# Regardes quel est ton hosttype pour mettre le compilo
# pour ca tapes "echo $HOSTTYPE" et mets le resultat apres CC_
# si tu es linux ca doit etre un truc genre i586 mais je ne suis
# pas sur
 
CC_NetBSD       = gcc
CC_sun4         = gcc -ldl
CC_alpha        = gcc
 
SRC     = compresser.c \
        bit.c \
        coder.c
 
OBJ     = $(SRC:.c=.o)
 
CFLAGS  = -Wall
 
 
all :   $(OBJ)
        $(CC_$(HOSTTYPE)) $(OBJ) $(LIB) -o $(NAME)
 
clean :
        rm -f *.o
        rm -f *~
        rm -f *#
 
cleanest : clean
        rm -f $(NAME)
 
re :    cleanest all
 
 
Ca serait dommage de chercher un autre prog, alors que celui ci a l air cool!
t as juste a rajouter un bout de code pour que l on donne le fichier a coder en parametre et c la fete!!
 
si t as un pbm particulier dit le avec un peu de chance on pourra t aider
 
@+


---------------
L'homme sage apprend de ses erreurs.  
Reply

Marsh Posté le 04-05-2002 à 19:58:22    

kris a écrit a écrit :

le prog a lair de marcher plutot bien malgre le seg fault si le fichier texte.txt n existe pas (arrange ca car c pas grand chose et c BIEN!)
 




 
Qu'est ce que ce fichier texte.txt :??:  , excuse le petit newbie :( en C que je suis.
 
Sinon par exemple, je ne comprends ce que signifie ces trucs mis en gras, je pensais que -> c'était uniquement pour les algos:
 
**********************  création du "noeud" pere  *******************************/  
   
 
 arbre crea_pere(noeud *L)  
 
  { arbre pere;  
 
    if(!(L->suiv)) { puts("arbre prêt" ); exit(); } /* la liste contient moins de 2 éléments */  
 
    else { pere=(arbre)calloc(1,sizeof(noeud));  
        pere->frequence=L->frequence+(L->suiv)->frequence;  
    pere->gauche=L;  /* mise a jour des champs de pere,de L et de L->suiv*/  
    pere->droit=L->suiv;  
    L->bit=0;  /* bit=0 pour le fils gauche */  
    (L->suiv)->bit=1;  
    L->pere=(L->suiv)->pere=pere;  
  }  
   
 
    return pere;  
 
  }

 

[jfdsdjhfuetppo]--Message édité par dan brad le 04-05-2002 à 19:58:59--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 04-05-2002 à 20:04:38    

c'est pour quelle ecole le projet...j'ai eu le meme l'année derniere....
 
(j'ai rendu copie.enfin fichier.c blanc :p  )
j'ai trop pas reussi moi...

Reply

Marsh Posté le 04-05-2002 à 20:06:43    

université Marne la vallée, as tu des potes qui ont gardés leur prog ou un lien qui pourrait m'aider
 
Kris m'a déja bien avancé :jap:

Reply

Marsh Posté le 04-05-2002 à 20:06:49    

j'adore ton nick :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-05-2002 à 20:18:35    

regardes dans ton main :
 
 
main()  
 
 { int table[TAILLE];  
   noeud* table_feuille[TAILLE];                                                              
   noeud *L;  
/*
** tu vois, ici tu lui passes en parametre le nom du fichier
** que tu vas compresser (ici texte.txt) le probleme est que  
** si le fichier texte.txt n existe pas, ca seg fault!
*/  
 init_table("texte.txt",table);  
   init_table_feuille(table_feuille);  
   L=crea_liste(table,table_feuille);  
   afficher(table);  
   voir(L);  
 
   L=crea_arbre(L);  
   
 
   visu_feuille(table_feuille);  
 
 
   printf("nombre de paquets envoyes=%d\n",coder("texte.txt","code",table_feuille,table));  
 
/*
** ici tu donne le nom du fichier dans lequelle du  
** va decompresser ce que tu as compresser avant (si le  
** prog marche le fichier decode.txt devrait etre le meme  
**que le fichier code.txt
*/
   decoder("code","decode.txt" );  
  }  
 
 
 
sinon un autre truc (c pas grand chose juste a conseil si on doit noter ton code), donnes une valeur de retour au main : un int et fait retourner 0 si le prog s est bien executer et un autre entier en cas de probleme.
Car je ne pense pas que ton prof aime un main sans valeur de retour (en tout cas moi ca me plairait pas!)
 
@+


---------------
L'homme sage apprend de ses erreurs.  
Reply

Marsh Posté le 04-05-2002 à 20:18:35   

Reply

Marsh Posté le 04-05-2002 à 20:22:26    

Merci :jap: Merci :jap: Merci :jap: Merci :jap: Merci :jap: Merci :jap: Merci :jap: Merci :jap: Merci :jap: Merci :jap:  
 
Je vais essayer de le compiler voir si ça tourne mais il ne devrai y avoir aucun probleme, merci encore.
Je t'ai envoyé un message privé, l'as tu vu?

 

[jfdsdjhfuetppo]--Message édité par dan brad le 04-05-2002 à 20:29:25--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 04-05-2002 à 20:39:41    

Oui, je viens juste de recevoir ton message et d y repondre.
 
Sinon je dois partir mais je serais la demain apres midi donc si t as un probleme, j essayerai de t aider.
 
@+


---------------
L'homme sage apprend de ses erreurs.  
Reply

Marsh Posté le 04-05-2002 à 20:42:16    

J'ai remplacé la ligne qui contient le hosttype par :
 
$(CC_$(i586)) $(OBJ) $(LIB) -o $(NAME)
 
et lorsque je fait make dans la console, j'obtient cette erreur :
 
makefile:25: ***missing separaotr . Arrêt.
 
(je suis bien sous linux)
 
j'ai aussi essayé comme ca :
 
$(CC_i586) $(OBJ) $(LIB) -o $(NAME)
 
mais j'ai la meme erreur :(

Reply

Marsh Posté le 04-05-2002 à 20:44:44    

Je suis sous linux mandrake 8.1
Merci beaucoup.
Je t'ai envoyé un mp

Reply

Marsh Posté le 04-05-2002 à 20:45:39    

t as essaye le makefile que je t ai mis en mp?


---------------
L'homme sage apprend de ses erreurs.  
Reply

Marsh Posté le 04-05-2002 à 20:52:24    

oui mais il me fait la meme erreur, mais ligne 6

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed