Nó có thể không phải là một lỗi, nhưng tôi không biết những gì đang xảy ra. Mục nhập đầu tiên của tôi được lặp lại cho str1 vào lần lặp thứ hai và cũng giống như cách đó. Chỉ lần lặp đầu tiên mới tốt.Đây có phải là lỗi với getline() hay tôi đang làm điều gì sai. Đúng cách để sử dụng 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;
}
Đầu ra là:
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
Sau khi bạn nhấn 'y', bạn có thể nhấn Enter. Bạn nên xem xét phần nào của chương trình đọc dòng mới được tạo khi bạn nhấn Enter đó. – nos
@chris cin là một đối tượng, có thể bạn là nhà điều hành >> –
Chào mừng bạn đến với SO! Cảm ơn bạn đã cung cấp một chương trình ngắn hoàn chỉnh thể hiện vấn đề của bạn. Đó là * rất * hữu ích về phía bạn. Vui lòng xem http://sscce.org để biết thêm thông tin. –