COMPRESSION / DECOMPRESSION SELON L'ALGORITHME LEMPELZIV 78V
bothan
Messages postés12Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 3 mai 2010
-
3 mai 2010 à 13:41
th1man
Messages postés3Date d'inscriptionvendredi 23 octobre 2009StatutMembreDernière intervention 5 mai 2010
-
5 mai 2010 à 20:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
th1man
Messages postés3Date d'inscriptionvendredi 23 octobre 2009StatutMembreDernière intervention 5 mai 2010 5 mai 2010 à 20:01
Salut,
Merci à toi BOTHAN pour me l'avoir fait découvrir;
Effectivement, la fonction lectBitFich ne se trouvait pas dans le zip (le ZIP n'était pas le bon).
Je m'en excuse !!!!!!!!!!!!
bothan
Messages postés12Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 3 mai 2010 4 mai 2010 à 00:28
le c!='\n' est de trop bien sur
bothan
Messages postés12Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 3 mai 2010 3 mai 2010 à 23:05
Bonsoir
Peut être le fichier ChaineBit.h et ChaineBit.c sur le serveur ne sont pas identiques aux tiens mais je n'ai pas la methode en question:
pour le header pas de lectBit Fich(fichSrc,nbre,&ind,&car):
#ifndef _CHAINEBIT_H_
#define _CHAINEBIT_H_
void bitChar(char,int[]); // char -> boolean[8]
char charBit(int[]); // boolean[8] -> char
void ecrireFich(FILE*,int,int,char); // l'ecriture dans le fichier l'indice, la taille de l'indice en binaire
// \__ainsi que la chaine;
void ecrtBitFich(FILE*,int); // l'ecriture dans un fichier bit par bit
// \__le passage par ce module est obligatoire
#endif
et dans la source ChaineBit.c non plus
Pour une lecture complete caractere par caractere d'un fichier texte je peux proposer ceci:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *F;
int c;
if(NULL==(F=fopen("file.txt","r")))
return EXIT_FAILURE;
while((c=fgetc(F))!=EOF && c!='\n')
printf("%c\n",c);
return EXIT_SUCCESS;
}
mais ne vaudrait il mieux pas travailler en binaire sur les fichiers?
A+
th1man
Messages postés3Date d'inscriptionvendredi 23 octobre 2009StatutMembreDernière intervention 5 mai 2010 3 mai 2010 à 21:24
mdr.............
En tapant cette phrase "Je veut dire le parcourir en entier", je voulait dire parcourir le fichier word caractere par caractere jusqu'à sa fin. ^^
th1man
Messages postés3Date d'inscriptionvendredi 23 octobre 2009StatutMembreDernière intervention 5 mai 2010 3 mai 2010 à 21:22
Salut à vous BOTHAN,
La fonction "lectBitFich(fichSrc,nbre,&ind,&car)" tu la trouve déclarer dans le fichier "ChaineBit.h" et définie dans "ChaineBit.c"............
MOI, ce que je constate, aprés plusieus tests, que la fonction lectBitFich bloque dés qu'elle lit un indice codé sur 8 bits ( c'est à dire juste à partir de l'ajout de l'élément 128 de la liste), et que la valeur de celui çi est égual à 0 ( codé sur 8 bits -> "00000000" )
J'ai une question, comment lire un fichier word en C ? Je veut dire le parcourir en entier.
______________Merci
bothan
Messages postés12Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 3 mai 2010 3 mai 2010 à 13:41
Bonjour th1man
J'aimerai bien tester la decompression si c'est possible
Mais comment tester ta methode lectBitFich(fichSrc,nbre,&ind,&car) appelée dans decompression et savoir pourquoi elle pose probleme?
car je ne la trouve pas dans les fichiers sources de ton projet.
5 mai 2010 à 20:01
Merci à toi BOTHAN pour me l'avoir fait découvrir;
Effectivement, la fonction lectBitFich ne se trouvait pas dans le zip (le ZIP n'était pas le bon).
Je m'en excuse !!!!!!!!!!!!
4 mai 2010 à 00:28
3 mai 2010 à 23:05
Peut être le fichier ChaineBit.h et ChaineBit.c sur le serveur ne sont pas identiques aux tiens mais je n'ai pas la methode en question:
pour le header pas de lectBit Fich(fichSrc,nbre,&ind,&car):
#ifndef _CHAINEBIT_H_
#define _CHAINEBIT_H_
void bitChar(char,int[]); // char -> boolean[8]
char charBit(int[]); // boolean[8] -> char
void ecrireFich(FILE*,int,int,char); // l'ecriture dans le fichier l'indice, la taille de l'indice en binaire
// \__ainsi que la chaine;
void ecrtBitFich(FILE*,int); // l'ecriture dans un fichier bit par bit
// \__le passage par ce module est obligatoire
#endif
et dans la source ChaineBit.c non plus
Pour une lecture complete caractere par caractere d'un fichier texte je peux proposer ceci:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *F;
int c;
if(NULL==(F=fopen("file.txt","r")))
return EXIT_FAILURE;
while((c=fgetc(F))!=EOF && c!='\n')
printf("%c\n",c);
return EXIT_SUCCESS;
}
mais ne vaudrait il mieux pas travailler en binaire sur les fichiers?
A+
3 mai 2010 à 21:24
En tapant cette phrase "Je veut dire le parcourir en entier", je voulait dire parcourir le fichier word caractere par caractere jusqu'à sa fin. ^^
3 mai 2010 à 21:22
La fonction "lectBitFich(fichSrc,nbre,&ind,&car)" tu la trouve déclarer dans le fichier "ChaineBit.h" et définie dans "ChaineBit.c"............
MOI, ce que je constate, aprés plusieus tests, que la fonction lectBitFich bloque dés qu'elle lit un indice codé sur 8 bits ( c'est à dire juste à partir de l'ajout de l'élément 128 de la liste), et que la valeur de celui çi est égual à 0 ( codé sur 8 bits -> "00000000" )
J'ai une question, comment lire un fichier word en C ? Je veut dire le parcourir en entier.
______________Merci
3 mai 2010 à 13:41
J'aimerai bien tester la decompression si c'est possible
Mais comment tester ta methode lectBitFich(fichSrc,nbre,&ind,&car) appelée dans decompression et savoir pourquoi elle pose probleme?
car je ne la trouve pas dans les fichiers sources de ton projet.
Salutations