2013-10-08 100 views
1

我正在編寫一個程序,該程序有一個主菜單和一些功能,我可以通過鍵入一個菜單選項的數字來訪問這些功能。爲此,我正在使用_getch()。當用戶輸入EOF鍵時,我需要能夠退出程序,但_getch()實際上並沒有捕捉到EOF按鍵。我知道我可以通過使用getchar()而不是_getch()來實現它,但是我不希望用戶在每次函數選擇後都不得不按下回車鍵。在不按Enter鍵的情況下捕捉EOF按鍵C

有沒有辦法讓_getch()捕捉EOF?這對於Windows來說是非常重要的,任何幫助都非常值得讚賞,因爲我一直無法找到任何東西。

回答

0

標準C輸入流stdio是行緩衝的,沒有定義的方式來強制刷新它。如果你想避免這種情況,並在輸入每個新字符時從緩衝區中讀取,你必須使用一些操作系統特定的魔法,這是conio.h想要做的_getch

getch類型的函數還有其他的實現,例如來自PDCurses librarygetch