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; }