View Full Version : in c++ modificare una rica in un .txt
xmatrix83
09-01-2005, 20:00
Scusate devo fare uno stupido programmino che nn fà altro ke modificare una determinata linea in un file di testo e poi aprire un file .exe!
Qualcuno potrebbe darmi una mano??
Potresti forrnirmi qualche dettaglio in più?
xmatrix83
10-01-2005, 02:56
allora considerate ke il faile di testo è sempre il medesimo e anke la riga ke deve cambiare è sempre la stessa.....con una nuova stringa che
anke essa nn cambia...
in pratica l'unica cosa ke cambia(ma questo nn interessa al programma)
è la linea prima di essere cambiata
chetidolanimale
10-01-2005, 07:55
ciao
da perfetto niubbo del c++, sono riuscito a fare un programma che fa' quello che chiedi, con la fondamentale differenza che non modifica il file aperto ,ma crea un nuovo file con la modifica richiesta.....se vuoi posto il codice, ma immagino che te ne farai ben poco...di più non so fare (per il momento) :rolleyes:
Ziosilvio
10-01-2005, 12:04
Originariamente inviato da chetidolanimale
non modifica il file aperto ,ma crea un nuovo file con la modifica richiesta
Se si lavora con file di testo e si devono fare modifiche più complesse del cambiare singoli caratteri, credo non ci siano alternative. (Poi, al limite, si dà al nuovo file il nome del vecchio.)
Chiedo conferma o smentita.
chetidolanimale
10-01-2005, 14:20
allora dici che il codice mio può andare bene?mitico,allora lo posto...che soddisfazione:D :D
#include<fstream>
#include<string>
using namespace std;
int main() {
ifstream leggi("filedaleggere.txt");
ofstream scrivi("filemodificato.txt");
string daCopiare;
string daCambiare="modifica da applicare";
int contaRiga=0;
int modRiga=3;
while(getline(leggi,daCopiare)){
scrivi<<((contaRiga!=modRiga)?daCopiare:daCambiare)<<endl;
contaRiga++;
}
return 0;
}
in pratica il programma non fa altro che leggere una linea, poi se il numero di linea non è quello che ci interessa,ricopia la linea tale e quale nel nuovo file, se la linea è quella da modificare, al posto della linea originale ci mette la linea presente nella variabile daCambiare, dopodichè continua a copiare-incollare fino alla fine.
se provo a settare gli stessi file txt nei due stream mi da come risultato un file vuoto....qualcuno mi può spiegare il perchè?
xmatrix83
10-01-2005, 14:58
ti ringrazio,così va già abb bene! ora si deve solo cancellare il vecchio file e rinominare quello nuovo!
chetidolanimale
10-01-2005, 15:02
ecco,questo già non lo so fare:rolleyes: :muro:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.