Oppure

Loading
08/07/08 18:22
alex2thebest
eccomi di nuovo :):rotfl:

ho un problema con cin.getline su questo programma... sapreste dirmi cos'è che non va bene perchè nella compilazione non riporta nessun errore ma nell'esecuzione salta il cin.getline...
ecco il programma:

#include <iostream>
#include <fstream>

using namespace std;

void salvare()
{
     char a[1000];
     system("CLS");
     cout << "scrivi il testo da salvare..." << endl;
     cin.getline(a, 1000);
     fstream salvataggio;
     salvataggio.open("C:\sprova", ios::out);
     salvataggio << a;
     salvataggio.close();
     system("CLS");
     cout << "testo salvato correttamente" << endl;
     _sleep(2000);
     exit(0);
}
void leggere()
{
     char b[1000];
     cout << "il testo salvato e':" << endl;
     cout << endl;
     fstream lettura;
     lettura.open("C:\sprova", ios::in);
     lettura.getline(b, 1000);
     lettura.close();
     cout << b << endl;
     system("pause>nul");
     exit(0);
}
int main()
{
    int scelta;
    cout << "vuoi salvare o leggere?" << endl;
    cout << endl;
    cout << "1) salvare" << endl;
    cout << "2) leggere" << endl;
    cin >> scelta;
    switch(scelta)
    {
                  case(1):
                          salvare();
                          break;
                  case(2):
                          leggere();
                          break;
    }
return 0;
}
aaa
08/07/08 18:57
gantonio
Subito prima della cin.getline devi inserire

cin.ignore();

per svuotare il buffer di input dal return pressato in precedenza ...

P.S. Le exit nelle funzioni non hanno senso ... eliminale ...
Ultima modifica effettuata da gantonio 08/07/08 18:58
aaa