|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 5845
|
Scrittura su file
Ho un problemino. Usando l'algoritmo di Huffman, una volta che ho a disposizione i codici dei vari simboli, come faccio a scriverli sul file che sarà quello compresso? Io leggo dal file originale i simboli, sostituendo i codici corrispondenti.Forse devo creare un file di output in modalità binaria? Perchè la funzione int fputc(int c,FILE*stream) mi prende appunto in ingresso un intero, ma io devo darli in ingresso un bit per volta, e trascriverlo sul file compresso. In piu', come faccio a mantenere la stessa struttura che ha il file originale? Questa funzione mi scrive una stringona di bit immensa uno dietro l'altro o si accorge anche quando deve andare a capo? In poche parole: supponiamo che il file da comprimere contenga ABC e poi va a capo con un'altra riga, in cui ci saranno altri simboli.
Supponiamo che A abbia come codice 01, B 11, C 10 Anche "a capo" ha il suo corrispettivo codice ascii? Perchè senno' nel file da scrivere verrà 011110 e poi devovrebbe andare a capo?. Come lo capisce? Grazie a tutti. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
A suo tempo ho fatto una funzione che mi scriveva/leggeva su file a livello dii bit...
In pratica ti devi costruire un buffer in cui metti i vari bit... La funzione di scrittura metteva i bit che gli venivano passati in un buffer, se il buffer si pienava veniva effettuata la write sul file... |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 5845
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:40.