PDA

View Full Version : cancellare parte di file


telluccio
28-10-2005, 19:33
ciao a tutti.
sto cercando di creare un programma in C che legge e da un FILE dividendolo in stringhe..ogni stringa il prog chiede se continuare a leggere.
vorrei che potesse anche cancellare la stringa lasciando tutte le altre.
esiste una funziona che cancella il singolo byte?
insomma se il file e da 100 byte e la prima stringa e di 10 e decido di cancellarla ,il file diventa da 90 byte. :muro:
ciao e grazie.

pom0
30-10-2005, 02:07
mi pare di ricordare che una funzione di cancellazione non esista gia' nelle librerie in C , forse in C++, comunque con qualche piccolo artificio il programmino si dovrebbe fare senza problemi ...

un idea, leggi il tuo file , lo bufferizzi in memoria con un semplice fread ( pero' prima apri lo stream di lettura fopen con settaggio r+ che indica l'aggiornamento), fai le tue operazioni, butti tutto dentro al file con fflush() mi pare e dovrebbe tornare delle dimensioni effettive... ma non sono sicuro,... sono un po' arrugginito col c :)

telluccio
30-10-2005, 21:12
grazie..buona idea..io in alternativa tramite indici scelgo la stringa da elliminare, per poi scrivere (r+) un nuovo file escludendola...
strano che non esista una funzione simile nella libreria...penso sia molto utile...
ciao