Re: [問題] 遇到換行結束輸入 in C
※ 引述《FrankTrjpp (請給我前叉)》之銘言:
: 很抱歉問了一個笨問題
: 可是剛才打關鍵字沒找到相關方法 (不然就是找到C++的 = =a )
: 就是
: 我要讀入一串數字(是int 不超過10個)
: 可能只有2個也可能有10個,結束輸入於換行符號
: 請問要怎麼寫呢?
: 找到最接近的方法是gets()讀入string
: 然後用sscanf去讀
: 不過因為沒用過sscanf所以剛才sigmentation fault了XD
: 有更好的方法或者是正確的使用法嗎@@
: 繼續辜狗中...
不超過10個的話....
count=sscanf(string,"%d %d %d %d %d %d %d %d %d %d",
&v[0],&v[1],&v[2],&v[3],&v[4],&v[5],&v[6],&v[7],&v[8],&v[9]);
這樣個數就收進 count 裡面 讀出來的數字也放進了 v 陣列裡了
如果最大個數不固定的話就照推文的 sscanf+strtok 吧
--
*scanf系的回傳值都有這個意義 表示讀到了幾個值
當然回傳 EOF 就是表示沒了的意思 而這個 EOF 通常是 -1
--
◢ ˊ_▂▃▄▂_ˋ. ◣ ▅▅ ▅▅ ι●╮ █▄▄▄▄▄
▍./◤_▂▃▄▂_◥ \'▊ HARUHI █████ <■┘ ▄▄▄▄▄▄▄
▎⊿ ◤◤◥█◥◥█Δ ISM By-gamejye ¢|\ ▌▌▌▌▌▄▌▌
▏ζ(▏●‵◥′●▊)Ψ ▏ █ ⊿Δ ▄▄▄ ▄▄▄▄
█/|▊ 〃 、 〃▋ |\ ▎ ハルヒ主義 █▄▄▄█▄▄
◥◥|◣ ‵′ ◢/'◢◢S.O.S 世界を大いに盛り上げるための涼宮ハルヒの団
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.84
※ 編輯: LPH66 來自: 140.112.30.84 (05/05 12:45)
※ 編輯: LPH66 來自: 140.112.30.84 (05/05 12:46)
推
05/05 12:50, , 1F
05/05 12:50, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):