如何强制 getline() 一次输入一行
How to force getline() to input one line at a time
我需要输入一定数量的字符串,每一个输入一个新行。当我尝试在循环中使用 getline() 时,它输入第一个字符串然后立即结束。
这是我要解决的问题,您可以在其中看到我想要的输入方式:
https://wcipeg.com/problem/ccc98s1
我查看了 cin.ignore() 来解决这个问题,但我似乎无法让它正常工作。
int n;
cin >> n;
for(int i = 0; i < n; i++) {
string input;
getline(cin, input);
cout << "Line Entered: " << input << endl;
}
如果您为 n 输入 2,然后尝试在不同的行中输入两个字符串,那么它不起作用。
int n;
cin >> n;
cin.ignore(); // are you sure you tried this?
for(int i = 0; i < n; i++) {
string input;
getline(cin, input);
cout << "Line Entered: " << input << endl;
}
我需要输入一定数量的字符串,每一个输入一个新行。当我尝试在循环中使用 getline() 时,它输入第一个字符串然后立即结束。
这是我要解决的问题,您可以在其中看到我想要的输入方式: https://wcipeg.com/problem/ccc98s1
我查看了 cin.ignore() 来解决这个问题,但我似乎无法让它正常工作。
int n;
cin >> n;
for(int i = 0; i < n; i++) {
string input;
getline(cin, input);
cout << "Line Entered: " << input << endl;
}
如果您为 n 输入 2,然后尝试在不同的行中输入两个字符串,那么它不起作用。
int n;
cin >> n;
cin.ignore(); // are you sure you tried this?
for(int i = 0; i < n; i++) {
string input;
getline(cin, input);
cout << "Line Entered: " << input << endl;
}