作者LPH66 ((short)(-15074))
看板C_and_CPP
标题Re: [问题] 遇到换行结束输入 in C
时间Tue May 5 12:43:19 2009
※ 引述《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)
1F:推 FrankTrjpp:感恩 05/05 12:50