2017-09-28 144 views
-1

我正在讀取控制檯上「while」的整數,當我輸入空字符串時如何停止閱讀?關閉控制檯輸入C++

while (cin >> index) 
{ 
    if (index >= v.size() || index < 0) 
    { 
     break; 
    } 
    n_v.push_back(v[index]); 


} 

I want it to break when an empty string is read

我將不勝感激,如果有人幫我。

+0

@ user0042不是真的,因爲「空」輸入是一個換行符,而換行符是空格,默認情況下(非字符)輸入操作會跳過前導空格,因此它會被阻止。 –

+0

讀取字符串而不是int,並檢查它是否爲空 – user463035818

回答

0

有兩種方法來解決你的問題:第一個階段是用戶進入最終的文件組合鍵(通常CTRL-Z在Windows和CTRL-d在Linux或MacOS的) 。

另一種方法是逐行讀取輸入的字符串,並檢查該行(無空格)是否爲空。如果沒有,則嘗試將字符串轉換爲數字並繼續執行代碼。