Ecrire bit à bit dans un fichier ?

Fermé
Ico - 27 nov. 2013 à 16:35
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 27 nov. 2013 à 18:57
Bonjour,

Actuellement étudiant en L2 informatique, l'un de nos TP à pour objectif de créer un programme de compression de fichier sur le modèle de Huffman.

Il s'agit ainsi d'associer à chaque caractère d'un fichier un code binaire plus ou moins long selon sa fréquence d'apparition.
Cette partie du TP ne m'a pas posé de problème particulier. Cependant, lorsque je remplace dans mon fichier chaque lettre par son code binaire, la taille du fichier augmente au lieu de diminuer. J'imagine que celà est dû au fait que les '0' et '1' de mes codes binaires sont considérés dans le fichier comme des caractères et donc codés sur un trop grand nombre de bits.
Je souhaiterais donc pouvoir écrire ces '0' et '1' dans mon fichier et qu'il soit codé sur un seul bit. Débutant en C, j'ignore comment il faut faire. Après quelques recherches sur internet, j'ai trouvé certaines notions qui semblent utile, notamment celle de "buffer" mais les différents cours et tutoriels ne m'ont pas permis de comprendre cette notion.
Je voudrais donc savoir si effectivement ce buffer est la solution de mon problème et si oui, quelques explications quant à son fonctionnement.

Merci.

A voir également:

1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 018
27 nov. 2013 à 18:57
Tu peux regarder cette discussion :
https://codes-sources.commentcamarche.net/forum/affich-10005201-nombres-premiers-crible-d-eratosthene#4

On y parlait de l'optimisation de la mémoire en C, j'y avais posté un code qui permettait de passer de 8 booléens à 1 char (donc de 8 octets à 1 seul)
0