我試圖打印輸入,直到用戶給出一個空白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