Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
ho scritto un programma in cui scrivo e creo un file,lo stampo a video e poi lo salvo.però c'è un problema:se lo scrivo e lo stampo solamente quando apro il file mi compare quello che ho scritto,se invece lo salvo anche, il file quando lo apro è vuoto,da che dipende?ecco il codice:
Codice sorgente - presumibilmente C++
#include <iostream>
#include<fstream>
usingnamespace std;
void stampa_video()//stampo a video il file ciao
{char c;
fstream vale;
vale.open("ciao",ios::in);
while(vale.get(c))
cout<<c;
vale.close();}
void scrivi()//scrivo nel file ciao
{
ofstream vale ("ciao");
if(!vale){
cerr<<"No file";
}
char c;
while(cin.get(c)){
vale.put(c);
if(c =='x')break;}
vale.close();}
void salva_file()//salvo il file ciao
{
fstream vale;
char c;
vale.open("ciao",ios::out);
if(vale.good()){
while(vale.get(c)){
vale<<c;
}
}
vale.close();
}
int main()
{
cout<<"scrivi nel file: "<<endl;
scrivi();
cout<<endl;
stampa_video();
cout<<endl;
salva_file();
system("pause");
return0;
}
Ultima modifica effettuata da ciao888 il 17/02/2011 alle 16:37
mostra il codice, così su due piedi non si può fare nulla.
ho modificato la domanda e scritto il codice - ciao888 - 17/02/11 16:38
()
Newbie
Messaggi: Iscritto:
0
Postato alle 10:29
Sabato, 19/02/2011
guarda che devi specificare il tipo di file che apri sia in input che in output e inoltre non serve una funzione per il salvataggio in quanto semplicemente cosi:
Codice sorgente - presumibilmente C++
#include <iostream>
#include<fstream>
usingnamespace std;
void stampa_video()//stampo a video il file ciao
{char c;
fstream vale;
vale.open("ciao.txt",ios::in);
while(vale.get(c))
cout<<c;
vale.close();}
void scrivi()//scrivo nel file ciao
{
ofstream vale ("ciao.txt");
if(!vale){
cerr<<"No file";
}
char c;
while(cin.get(c)){
vale.put(c);
if(c =='x')break;}
vale.close();}
int main()
{
cout<<"scrivi nel file: "<<endl;
scrivi();
cout<<endl;
stampa_video();
cout<<endl;
system("pause");
return0;
}
una volta eseguita l'applicazione trovi nel file salvato tutto ciò che hai scritto.
compresa la x naturalmente!