我试图打印输入,直到用户给出一个空白input.So,我用getline(cin,输入)。但是,当我使用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
预期产出对我来说没有意义,实际产出也是如此。我希望这个输入没有任何输出。顺便说一下,是否需要外部while循环来展示问题? –
@UlrichEckhardt检查编辑器格式。 OP的意图是分开的线路。 – WhozCraig