我是C++的新手,試圖創建一個基本程序。索要兩個值,並將結果存儲在單獨的變量如下所示:C++無法清除inputStream
#include <iostream>
using namespace std;
int main() {
int sizeOfArray = -1, bufferSize = -1;
while (true){
cout << "Enter the size of the array: " << endl;
cin >> sizeOfArray;
if (cin.fail())
cin.clear();
cout << "Enter the size of the buffer (k): " << endl;
cin >> bufferSize;
if (cin.fail())
cin.clear();
if (sizeOfArray > 0 && bufferSize > 0){
break;
}
}
return 0;
}
然而,進入一個值,該值是int類型的,而不是清除的不併要求下一個輸入時,我碰上一個無限而如下所示循環:
輸入數組的大小: 輸入緩衝器的大小(K): 輸入數組的大小: 輸入緩衝器(k)的大小: 輸入數組大小: 輸入緩衝區大小(k): 輸入數組的大小: 輸入緩衝器(k)的大小: 輸入數組的大小: 輸入緩衝器(k)的大小: 輸入數組的大小: 輸入大小的緩衝液(k)的: 輸入數組的大小: 輸入緩衝器(k)的大小: 輸入數組的大小: 輸入緩衝器的大小(K): ^ C
您還必須使用錯誤的輸入來清除輸入緩衝區。 –