Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Non capisco perchè ho dovuto inserire 2 volte la stringa "cin.getline(rec.English,100);". Se non la metto per il primo ciclo non mi permette di inserire il dato, per i cicli successivi funziona normalmente ovvero mi chiede di inserire due volte il dato. Questo è il pezzo di codice che dà problemi:
Codice sorgente - presumibilmente C++
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <string>
#include <windows.h>
usingnamespace std;
int main ()
{ ...
while(i=='1'){//i e' una variabile char
ofstream myfile;
myfile.open("Prova.txt", ios::app);
struct tiporec
{
char Italian[100];
char English[100];
}rec;
//Inserimento dei dati
cout<<" Write in English: ";
cin.getline(rec.English,100);//<---- Ecco il problema
cin.getline(rec.English,100);
cout<<" Write in Italian: ";
cin.getline(rec.Italian,100);
cout<<endl<<endl;
//Stampa nel file i dati inseriti
myfile << rec.English<<" = "<< rec.Italian<<"\n";
cout<<"Inserted line : "<<rec.English<<" = "<<rec.Italian
<<endl<<endl<<endl;
myfile.close();
i='0';
}
...
Qualcuno mi sa dare la spiegazione per favore? Grazie a chiunque risponda!
probabilmente il problema non è la struct.
Sicuro di non aver lasciato qualche \n da qualche parte?
di solito il tuo problema si verifica quando ci sono ancora dei caratteri non letti^^
se con "\n" intendi i caratteri per andare a capo, no, non c'è nulla del genere prima. Il codice è proprio quello che è riportato sopra...
Cosa può essere?