C++如何讀取任意數目的整數

要求: 讀取整數,按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;
    }
}

這裏寫圖片描述

發佈了31 篇原創文章 · 獲贊 23 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章