Puede que no sea un error, pero no sé qué está pasando. Mi primera entrada se repite para str1 en la segunda iteración, y es la misma desde entonces. Solo la primera iteración va bien.¿Esto es un error con getline(), o estoy haciendo algo mal? Forma correcta de usar 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;
}
La salida es:
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
Después de presionar 'y', probablemente presione Enter. Debes considerar qué parte del programa lee la nueva línea cuando presionas Enter. – nos
@chris cin es un objeto, tal vez te refieres al operador >> –
¡Bienvenido a SO! Gracias por proporcionar un programa corto completo que demuestra su problema. Eso fue * muy * útil de tu parte. Por favor, consulte http://sscce.org para más información. –