PDA

View Full Version : [C++]Manipolazione file di testo


icestorm82
25-05-2008, 17:00
Salve ragazzi, ho la necessità di manipolare dei file di testo, e visto che mi ritrovo qualche ricordo di c++, vorrei usare proprio questo linguaggio. Ciò che mi serve è un programmino semplice che modifichi delle stringhe ad una determinata posizione all'interno di un file di testo, che funzioni più o meno così

File.txt che contiene la stringa:
>>>>>>>>>>>>>>
Questa è una frase
>>>>>>>>>>>>>>

All'interno del programma io stabilisco quale lettera e quindi quale posizione deve essere sostituita (quindi credo tramite un array), e successivamente immetto da tastiera la nuova lettera da sostituire a quella vecchia.

Qualcuno mi consiglia una buona guida per la modifica dei file?

Grazie a tutti

sottovento
26-05-2008, 08:45
Ciao,
un semplice consiglio: lavora per copia!
Apri il file in lettura, lo scandisci e copi nel nuovo file di destinazione (fintanto che ovviamente ti interessa copiare). Nel caso che tu sia arrivato alla parte che ti interessa, la sostituzione risultera' essere un'operazione molto semplice.

Potresti ridurre il problema a seconda del tipo di sostituzione che vuoi fare. Per esempio, se sei sicuro che lavorerai linea per linea, allora potrai usare la fgets() e lavorare su una singola linea in memoria. Nel giro di poche ore dovresti riuscire a completare la tua applicazione.

Nel caso che la sostituzione possa essere spezzata su piu' linee, dovrai fare un po' piu' di attenzione. Niente di difficile,cmq...

icestorm82
27-05-2008, 09:59
Ciao,
un semplice consiglio: lavora per copia!
Apri il file in lettura, lo scandisci e copi nel nuovo file di destinazione (fintanto che ovviamente ti interessa copiare). Nel caso che tu sia arrivato alla parte che ti interessa, la sostituzione risultera' essere un'operazione molto semplice.

Potresti ridurre il problema a seconda del tipo di sostituzione che vuoi fare. Per esempio, se sei sicuro che lavorerai linea per linea, allora potrai usare la fgets() e lavorare su una singola linea in memoria. Nel giro di poche ore dovresti riuscire a completare la tua applicazione.

Nel caso che la sostituzione possa essere spezzata su piu' linee, dovrai fare un po' piu' di attenzione. Niente di difficile,cmq...

Grazie mille :D Sai dove posso reperire qualche file di esempio da dove prendere spunto dato che sono un po' arrugginito?

sottovento
28-05-2008, 03:52
Grazie mille :D Sai dove posso reperire qualche file di esempio da dove prendere spunto dato che sono un po' arrugginito?

Di preciso, no. Ma si tratta di un problema molto comune, per cui non dovrebbe essere difficile trovare qualche esempio.
Posso controllare anche se ho vecchi programmi, oppure qualcuno del forum ha gia' pronto qualcosa.

Cmq questa risposta vale come un UP :D

tomminno
28-05-2008, 07:42
Potresti usare un file d'appoggio per cui in linea di principio leggi riga per riga il file di origine sostituisci quello che ti serve nella stringa letta e la salvi sul file temporaneo, alla fine cancelli il vecchio file sovrascrivendolo con quello nuovo.

Alla fine basta saper leggere da file e fare il replace in una stringa.