看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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)
keke0421:感謝 10/07 20:50