exeggutor
27-07-2010, 18:10
Ciao a tutti ragazzi
vi scrivo perchè è da un giorno che mi sto arrovellando il cervello su un tema che in realtà dovrebbe essere abbastanza semplice.
Ho messo in piedi due processi: uno prende un file da 2199 bytes, lo suddivide in 5 frammenti da 512 byte (l'ultimo frammento è x ragioni matematiche di 151 byte) e lo invia tramite socket all'altro processo.
Questo secondo processo ricompone i frammenti uno a uno tramite fwrite() e li inserisce in un file nuovo. Il problema consiste nel fatto che i conti non tornano: al termine della ricezione il contatore che tiene in memoria il numero di byte inseriti dalla fwrite() è effettivamente di 2199 bytes, ma le dimensioni effettive del file creato risultano di 2247 bytes... Non riesco a capire da dove escano fuori questi 48 bytes aggiuntivi che sono appesi in fondo al file...
La fclose aggiunge al file dei dati????? :muro:
Qualcuno ha qualche suggerimento?
Grazie mille!!!!!!!
vi scrivo perchè è da un giorno che mi sto arrovellando il cervello su un tema che in realtà dovrebbe essere abbastanza semplice.
Ho messo in piedi due processi: uno prende un file da 2199 bytes, lo suddivide in 5 frammenti da 512 byte (l'ultimo frammento è x ragioni matematiche di 151 byte) e lo invia tramite socket all'altro processo.
Questo secondo processo ricompone i frammenti uno a uno tramite fwrite() e li inserisce in un file nuovo. Il problema consiste nel fatto che i conti non tornano: al termine della ricezione il contatore che tiene in memoria il numero di byte inseriti dalla fwrite() è effettivamente di 2199 bytes, ma le dimensioni effettive del file creato risultano di 2247 bytes... Non riesco a capire da dove escano fuori questi 48 bytes aggiuntivi che sono appesi in fondo al file...
La fclose aggiunge al file dei dati????? :muro:
Qualcuno ha qualche suggerimento?
Grazie mille!!!!!!!