作者zptdaniel (忠言本逆耳,實願君向善.)
看板C_and_CPP
標題[問題] C語言 輸入資料時的格式
時間Fri Oct 23 16:52:41 2009
我現在要用C寫的程式它的input的格式如下
(a,b,c) 其中a,b,c均為int
能不能夠直接用scanf直接讀取這樣的input data
然後將a,b,c存入變數中呢?
還是我得用到strtok @@?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.233.43.76
1F:推 tiyun:scanf("%*c%d%*c%d%*c%d%*c",&a,&b,&c); 10/23 17:00
你好,我用了你的方法. 部分的code如下
while(scanf("%*c%d%*c%d%*c%d%*c",&x1,&x2,&h)!=EOF){
printf("%d %d %d\n",x1,x2,h);
假如我輸入(1,5,7)
會顯示 1 5 7
再輸入(2,8,9)
會顯示 1 5 7
2 8 9
再輸入(3,7,6)
會顯示 2 8 9
3 7 6
請問要如何解決這個狀況呢? 是否跟buffer有關?
※ 編輯: zptdaniel 來自: 118.233.43.76 (10/23 17:17)
2F:→ tiyun:while(scanf("\n%*c%d%*c%d%*c%d%*c",&x1,&x2,&h)!=EOF) 10/23 17:25
3F:→ zptdaniel:謝謝! 我剛剛用了fflush(stdin)也完成這個動作 10/23 17:31
4F:→ zptdaniel:不過我有另外一個問題 如果我用 fscanf的話 加上\n可行 10/23 17:32
5F:→ zptdaniel:那如果改用fflush()我該給哪個參數呢? 10/23 17:32
6F:→ zptdaniel:還是說fflush只能用於鍵盤Input的時候? 10/23 17:33
7F:推 tiyun:跟fscanf的stream一樣 10/23 17:35
8F:→ zptdaniel:喔..不大了解您的意思^^" 10/23 17:39
9F:推 tiyun:看看它們的參數 int fscanf ( FILE * stream, ...); 10/23 17:41
10F:→ tiyun:int fflush ( FILE * stream ); 10/23 17:42
11F:推 LPH66:請勿使用 fflush(stdin).... 10/23 17:54