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:
#include <iostream> 
#include<fstream> 
using namespace 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"); 
return 0; }