Potrebbe non essere un bug, ma non so cosa sta andando storto. La mia prima voce viene ripetuta per str1 alla seconda iterazione ed è allo stesso modo da allora. Solo la prima iterazione va bene.Si tratta di un bug con getline() o sto facendo qualcosa di sbagliato. Modo giusto per usare getline()?
#include <iostream>
#include <string>
using namespace std;
int main() {
cout << " \n Enter two words. \n " ;
char c = 'y';
string str;
string str1;
while (c == 'y'){
getline(cin,str);
getline (cin,str1);
cout << " \n\n str : " << str << " str1 : " << str1 ;
cout << " \n Continue ? \n " ;
cin >> c;
}
return 0;
}
L'output è:
Enter two words. hello world this is mr str : hello world str1 : this is mr Continue ? y hello world str : str1 : hello world Continue ? n
Dopo aver premuto 'y', probabilmente premi Invio. Dovresti considerare quale parte del programma che legge il newline fatta quando premi Invio. – nos
@chris cin è un oggetto, forse vuoi dire operatore >> –
Benvenuto in SO! Grazie per aver fornito un breve programma completo che dimostra il tuo problema. Era * molto * utile da parte tua. Si prega di consultare http://sscce.org per ulteriori informazioni. –