|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6597
|
Istruzione feof del c++
Salve ragazzi, ho un piccolo problema. ho salvato in un file una struttura cosi' fatta:
2 bytes per il codice ascii 2 bytes per il numero di bit della stringa n bytes per il codice di tale simbolo Ora, quando ripesco dal file tali campi, li ripongo in un'altra struttura in questo modo: while(!feof(out)) { fread(&codiceascii,sizeof(short int),1,out); fread(&HuffmanCodes2[codiceascii].nbit,sizeof(short int),1,out); HuffmanCodes2[codiceascii].code= new unsigned char[((HuffmanCodes2[codiceascii].nbit+8)>>3)]; fread(HuffmanCodes2[codiceascii].code,((HuffmanCodes2[codiceascii].nbit+8)>>3),1,out);} Siccome nella struttura originaria vi sono solo 4 simboli, tale funzione dovrebbe ciclare quattro volte e poi uscire, ma purtropo, non so per qual emotivo, di cicli ne fa cinque per poi uscire, sovrascrivendomi l'ultimo carattere incontrato. Ma la funzione feof non termina quando arriva alla fine del file? Ha bisogno di un giro in più? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' normale...
Fai conto che facendo quattro letture ottieni un movimento di questo tipo all'interno del file: 1a struttura | 1a lettura 2a struttura | 2a lettura 3a struttura | 3a lettura 4a struttura | 4a lettura EOF | 5a lettura L'EOF viene incontrato solo alla 5a lettura... Basta controllare il valore di ritorno dell fread...se è 0 esci (o continue)... |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6597
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
no è normale che ti legga l'ultimo due volte
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:52.



















