作者tzuci6649 (曹操)
看板C_and_CPP
標題[問題] 關於scanf....
時間Mon Mar 30 22:23:33 2009
各位板友~我現在撰寫程式遇到一個困擾
scanf( "%c", &token );
假設我輸入的數據為 ( XX OO ) 然後enter
^
這邊照理說不是只有一個空白嗎
但是我測出來他每次就會多一個換行( 我是一個字元一個字元判斷 )
是因為最後我按了enter的關係嗎?
我有參考板上文章使用 scanf( "%c\n", &token ); // 這個雖然有成功
或者 scanf( "%c ", &token );
或者 fflush( stdin ); // 會完全抓不到東西耶?
不過因為數據有時跟括號不會有空白, ex. (XX OO)
這樣用 scanf( "%c\n", &token ); 也是會錯
這樣我該怎麼做比較好呢..好苦惱XD
希望給予解答..感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.57.78.11
※ 編輯: tzuci6649 來自: 61.57.78.11 (03/30 22:24)
推 christianSK:用字串抓吧 03/30 22:32
推 u8906250:可以試看看用gets() 03/31 19:54
推 u8906250:抱歉,man建議不要用gets因為無法確定輸入的長度 所以... 03/31 19:58
→ u8906250:可用fgets (s, sizeof(s), stdin)取代 03/31 19:59