|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2009
Messaggi: 5
|
[C++] cancellare riga da file
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. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Rinomini il vecchio file, ne scrivi uno con lo stesso nome iniziale saltando l'ultimo carattere o l'ultima linea.
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Feb 2009
Messaggi: 5
|
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
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
mai pensato che la stl l'hanno inventata per evitare di scrivere montagne di codice in casi come questi?
guarda la vector
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
- 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... |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:48.




















