11/05/09 18:22
deoiang
Ciao ragazzi,
sto scrivendo un programma che scolge spesso operazioni di I/O per non occupare troppa memoria ram, in particolare prende blocchi di dati in lettura, li elabora, e successivamente li riscrive nel file dove l'ha letti.
E' possibile scrivere in un file con modalità append (in coda), e non ho trovato alcun modo per riscrivere nello stesso punto dove ho letto precedentemente un valore. Ho provato ad utilizzare una ftell prima della lettura, per poi utilizzarlo nella fwrite successiva, ma niente, mi scrive sempre in fondo al file. Vi mostro un esempio di quello che devo fare:
contenuto source.bin: a2 a4 a7 b2 c5
Il mio programma dovrebbe leggere il 2° elemento, modificarlo e riscrivere il valore modificato (p4) sul file.
contenuto source.bin dopo scrittura: a2 p4 a7 b2 c5
-Si può fare questa cosa? Se si mi sapreste dire una funzione, o libreria che lo permette?
Grazie a tutti, Massimo
sto scrivendo un programma che scolge spesso operazioni di I/O per non occupare troppa memoria ram, in particolare prende blocchi di dati in lettura, li elabora, e successivamente li riscrive nel file dove l'ha letti.
E' possibile scrivere in un file con modalità append (in coda), e non ho trovato alcun modo per riscrivere nello stesso punto dove ho letto precedentemente un valore. Ho provato ad utilizzare una ftell prima della lettura, per poi utilizzarlo nella fwrite successiva, ma niente, mi scrive sempre in fondo al file. Vi mostro un esempio di quello che devo fare:
contenuto source.bin: a2 a4 a7 b2 c5
Il mio programma dovrebbe leggere il 2° elemento, modificarlo e riscrivere il valore modificato (p4) sul file.
contenuto source.bin dopo scrittura: a2 p4 a7 b2 c5
-Si può fare questa cosa? Se si mi sapreste dire una funzione, o libreria che lo permette?
Grazie a tutti, Massimo
aaa