Aidez moi a faire fonctionner ce zip en C please [ HELP ] - C++ - Programmation
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.
Marsh Posté le 04-05-2002 à 19:06:24
Si tu avais des trucs simples, ça m'arrangerait pas mal
Parce qu'on est en train d'essayer avec l'algo de Huffman et on galere trop
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
@+
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]
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 )
j'ai trop pas reussi moi...
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é
Marsh Posté le 04-05-2002 à 20:06:49
j'adore ton nick
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!)
@+
Marsh Posté le 04-05-2002 à 20:22:26
Merci Merci
Merci
Merci
Merci
Merci
Merci
Merci
Merci
Merci
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]
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.
@+
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
Marsh Posté le 04-05-2002 à 20:44:44
Je suis sous linux mandrake 8.1
Merci beaucoup.
Je t'ai envoyé un mp
Marsh Posté le 04-05-2002 à 20:45:39
t as essaye le makefile que je t ai mis en mp?
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
un projet C sur la compression/décompression Zip
Moi malheuresement c'est pas trop mon cas.
J'explique mon tourment :
Je dois rendre pour lundi
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