PDA

View Full Version : [C++] cancellare riga da file


DArK_N3tWoRk
02-02-2009, 19:41
Ciao a tutti.
Ho un problema con un programma che sto facendo in C++, vorrei sapere come si fa a cancellare l'ultima riga da un file (oppure solo l'ultimo carattere), so che i file di testo per loro natura rendono difficili queste operazioni, io vorrei sapere se si può fare con i file di testo o se devo necessariamente operare su file binari.
Vi ringrazio per la pazienza, è tutto. :D

cionci
02-02-2009, 20:01
Rinomini il vecchio file, ne scrivi uno con lo stesso nome iniziale saltando l'ultimo carattere o l'ultima linea.

DArK_N3tWoRk
02-02-2009, 20:23
Rinomini il vecchio file, ne scrivi uno con lo stesso nome iniziale saltando l'ultimo carattere o l'ultima linea.

Si ho capito ma devo fare in modo che su un file con un numero SCONOSCIUTO di righe mi cancelli l'ultima... un'alternativa sarebbe trovare il numero delle righe e riscrivere il file saltando l'unica (perchè le righe sono tutte uguali) ma non saprei come fare... comunque grazie x l'aiuto

wizard1993
02-02-2009, 20:27
mai pensato che la stl l'hanno inventata per evitare di scrivere montagne di codice in casi come questi?
guarda la vector

cionci
02-02-2009, 20:52
Si ho capito ma devo fare in modo che su un file con un numero SCONOSCIUTO di righe mi cancelli l'ultima... un'alternativa sarebbe trovare il numero delle righe e riscrivere il file saltando l'unica (perchè le righe sono tutte uguali) ma non saprei come fare... comunque grazie x l'aiuto
Ci sono N-mila modi ;)
- puoi leggere e memorizzare tutte le righe in un vector di stirng
- puoi leggere e scrivere due righe alla volta
- puoi leggere la dimensione del file e quindi determinare quando sei all'ultima riga in base a semplici calcoli sulla quantità di dati scritti sul file
- puoi determinare prima il numero di righe

Insomma di modi sono tanti...