PDA

View Full Version : [C++] chiudere un file aperto con ifstream


djpeppe
30-09-2007, 12:17
ciao
1) io ho aperto un file "a" in lettura con ifsream
e uno "b" in scrittura con ofstream
prendo i dati dal file in lettura
li elaboro su quello in scrittura
chiudo i due file
e apro in file a in srcittura
e il file "b" in lettura
...
com'è che chiudo un file che avevo aperto con if/ofstream

2) come rimuovo il file? prima lo facevo con remove("a"); ora come faccio?

3) io ho usato ifstream in una fuzione ("open"), ma il file lo dovrei usare in altre funzioni. lo devo dichiarare static?

djpeppe
30-09-2007, 13:25
allora?

Gino+89+
30-09-2007, 17:42
1) Se un file lo devi usare sia in lettura che in scrittura lo dichari direttamente con fstream.
Per chiudere un file usi il metodo close()

2) Lo puoi rimuovere con una chiamata di sistema penso... es: system("del file.estensione");

3) No ti salvi ad un livello superiore la stringa con il nome del file e la passi alle funzioni che aprono il file...

djpeppe
30-09-2007, 20:11
e come faccio a chiuderlo salvandolo e chiuderlo senza salvare?

djpeppe
01-10-2007, 14:20
nessuna risposta? perfavore ho bisogno di sapere come si fa

tomminno
01-10-2007, 14:38
nessuna risposta? perfavore ho bisogno di sapere come si fa

Per non salvare devi lavorare su una copia temporanea che puoi tenere in memoria oppure su un file di appoggio, dipende dalla dimensione da trattare. A quel punto sul salva copi l'oggetto temporaneo sul file di destinazione, altrimenti lo butti via, lascinado intatto il file originale.