C C 控制台輸入(cin getchar)

2022-08-29 01:30:13 字數 690 閱讀 5719

1、類似的函式有:cin、getchar、fgetc 等

2、問題:

最後的"\n"都不取出來...

2.1、對策:(zc:下面是 我自己使用後的感受)

(1)fflush(stdin) ==> 沒反應...    _flushall();也沒反應

(2)int _kbhit( void ); ==> 

結果不准  

網上的資料:getchar,scanf,getch,這些,如果使用者沒有輸入就會阻塞,如果不希望阻塞,應該怎麼辦?網上搜了一下,linux可以用fcntl,但 windows 就不行了(可以用 getasynckeystate 檢查按鍵,但是不能知道stdin 是否有內容)  有人答覆:windows有的。用_kbhit()(因為是立即返回的,你可能要放到迴圈裡),判斷是不是有鍵按下,然後用_getch()取走。

(3)cin.peek() ==> 輸入緩衝區裡面有資料的時候,判斷結果準確的;輸入緩衝區 為空的時候 該函式也會阻塞...

2.2、上面的方式 都不咋地...現在用下面的 這種方式:

每次呼叫完 cin、getchar、fgetc 等函式後,自己手動加上 一句"getchar()",把最後的"\n"取走...

舉例子:(cin >> bufin).get();

3、4、

5、

C C 控制台輸入輸出

c 1.輸入 1 readline string input console.readline 讀取一串字元,直到使用者按下回車。string input while input console.readline null 若要讀取一行多個數字,可以使用如下方法 string str str inp...

c c 控制台手動輸入EOF

一定要特別注意一般大家都只會告訴你,輸入crtl z就可以了,但其實這樣是不完整的,或者說,這樣的講述對於新手來說不是特別的友好 劃重點 在控制台當中,我們都是以每一行作為乙個全新的單位來進行讀取的,無論的你的程式 是怎樣的,在控制台當中就是,機器就是這乙個樣子來處理的。那麼,ctrl z應該如何輸...

控制台輸入驗證

vs 提供了乙個模版 控制台應用程式 這種應用程式主要不是用來與使用者互動的,或做一些後台程式執行的展示,或用來練習 c 語法,如果當做 c 語法學習的平台,在這裡就說一下在控制台下的輸入驗證吧。控制台狀態下,程式的輸入輸出是流的方式進行的,也就是游標是向前的 如果不做特殊處理的話 輸入的驗證,只能...