Я пытаюсь печатать входы до тех пор, пока пользователь не даст пустой ввод. Так, я использовал getline (cin, input). Но, когда я использую getline (cin, input). Он пропускает первый вход, выдавая результат.Вход с использованием getline (cin, n); не печатает первый вход, и я не использую cin >> для ввода ввода в любом месте
#include <iostream>
using namespace std;
int main() {
while(1)
{
string n;
getline(cin, n);
while(getline(cin,n) && !n.empty())
{
cout<<n<<endl;;
}
if(n.empty())
break;
}
return 0;
}
ввода образца:
12
2
выход получен: требуется
2
выход:
12
2
Возможно, последовательные вызовы 'getline' (один перед циклом, один в выражении while) имеет какое-то отношение к первому чтению, исчезающему. Почему, по-вашему, вам нужен голый звонок? (или вложенные петли, если на то пошло). – WhozCraig
Ожидаемый результат не имеет смысла для меня, как и фактический вывод. Я бы не ожидал вывода для этого ввода. BTW, это внешний замкнутый цикл, необходимый для демонстрации проблемы? –
@UlrichEckhardt проверить формат in-editor. ОП предназначались для отдельных линий. – WhozCraig