To nie może być błąd, ale nie wiem, co się dzieje źle. Mój pierwszy wpis powtarza się dla str1 w 2. iteracji i jest taki sam od tego czasu. Tylko pierwsza iteracja idzie dobrze.Czy jest to błąd z getline(), czy robię coś nie tak. Właściwy sposób użycia 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;
}
Wyjście jest:
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
Po naciśnięciu 'y', prawdopodobnie naciśnij Enter. Powinieneś zastanowić się, która część programu czyta linię utworzoną po naciśnięciu klawisza Enter. – nos
@ chris cin jest obiektem, może masz na myśli operatora >> –
Witaj w SO! Dziękuję za dostarczenie kompletnego krótkiego programu, który pokazuje Twój problem. To było * bardzo * pomocne z twojej strony. Więcej informacji można znaleźć na stronie http://sscce.org. –