要求: 讀取整數,按enter結束輸入
在C/C++中,一系列的簡單數據是存儲在數組裏,而且,針對輸入,一般要知道輸入的數據個數,用for循環迭代, 又或者給定一個結束標誌的輸入,當輸入爲結束標誌時,停止循環輸入(比如, 輸入0結束輸入).
然而,當既沒有結束輸入的輸入標誌,又要求輸入不定數目的整數,這時候就不能按最簡單的方式輸入了.
思路:利用字符串流sstream, 先讀取一行字符到字符串流中,在從字符串流中讀取數據,這樣,當按enter時,實際上,讓不定長的輸入放到字符串流中,那麼流的末尾就是輸入的結尾.
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main() {
int num;
string nums;
for (int i = 0; i < 3; i++) {
getline(cin, nums);
istringstream istr(nums);
while (istr >> num) cout << num << " ";
cout << endl;
}
}