[問題] C語言 輸入資料時的格式

看板C_and_CPP作者 (忠言本逆耳,實願君向善.)時間14年前 (2009/10/23 16:52), 編輯推噓4(407)
留言11則, 3人參與, 最新討論串1/1
我現在要用C寫的程式它的input的格式如下 (a,b,c) 其中a,b,c均為int 能不能夠直接用scanf直接讀取這樣的input data 然後將a,b,c存入變數中呢? 還是我得用到strtok @@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.233.43.76

10/23 17:00, , 1F
scanf("%*c%d%*c%d%*c%d%*c",&a,&b,&c);
10/23 17:00, 1F
你好,我用了你的方法. 部分的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)

10/23 17:25, , 2F
while(scanf("\n%*c%d%*c%d%*c%d%*c",&x1,&x2,&h)!=EOF)
10/23 17:25, 2F

10/23 17:31, , 3F
謝謝! 我剛剛用了fflush(stdin)也完成這個動作
10/23 17:31, 3F

10/23 17:32, , 4F
不過我有另外一個問題 如果我用 fscanf的話 加上\n可行
10/23 17:32, 4F

10/23 17:32, , 5F
那如果改用fflush()我該給哪個參數呢?
10/23 17:32, 5F

10/23 17:33, , 6F
還是說fflush只能用於鍵盤Input的時候?
10/23 17:33, 6F

10/23 17:35, , 7F
跟fscanf的stream一樣
10/23 17:35, 7F

10/23 17:39, , 8F
喔..不大了解您的意思^^"
10/23 17:39, 8F

10/23 17:41, , 9F
看看它們的參數 int fscanf ( FILE * stream, ...);
10/23 17:41, 9F

10/23 17:42, , 10F
int fflush ( FILE * stream );
10/23 17:42, 10F

10/23 17:54, , 11F
請勿使用 fflush(stdin)....
10/23 17:54, 11F
文章代碼(AID): #1AuMxSf0 (C_and_CPP)