推 keke0421:感謝 10/07 20:50
※ 引述《keke0421 (zrae)》之銘言:
: 改一下問法
: 如果我想用enter的條件來跳出迴圈
: 除了用gets先將整個字串流抓進來切割再轉乘int
: 還有別的方法嗎?
string line;
getline(cin, line);
這樣就能從鍵盤讀入一行長度非常長的資料到字串裡。
當然檢查傳回值看看有無成功是最好。
分割就:
istringstream iss(line);
int num;
vector<int> numbers;
while(iss >> num) {
numbers.push_back(num);
}
: ex:輸入可能有50個數目
: 30 50 34 2 20 按enter後 直接把跟剛剛那些數目儲存在整數陣列裡面
: 感謝惹QQ
這問題的做法早已制式化了吧...
會用到的 header 就 <string>, <iostream>, <sstream>, <vector> 吧。
有漏掉的再說。
不過你如果真的只是想讀成一堆數字其實 while(cin >> num) 這樣寫就行。
你最初標題問怎麼代替 gets 才特別講這個。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.107.243
※ 編輯: tinlans 來自: 118.160.107.243 (10/07 19:58)