getch和ungetch的使用

2021-10-06 03:36:59 字數 468 閱讀 9575

getch()

這個函式可以讓使用者按下任意鍵而不需要回車就可以接受到使用者的輸入。可以用來作為「press any key to continue」的實現。

ungetch()

把乙個字元退回到鍵盤緩衝區中

工作原理

ungetch( )函式是把要壓回的字元放到乙個共享緩衝區(字元陣列)中,

當該緩衝區不空時,getch函式就從緩衝區中讀取字元;當緩衝區為空時,getch函式呼叫getchar函式直接從輸入中讀取字元。

注意:這裡還要增加乙個下標變數來標記緩衝區中當前字元的位置。

由於緩衝區與下標變數是提供getch與ungetch函式共享的,並且在兩次呼叫之前必須保持值不變,

因此他們必須是這兩個函式的外部變數。

可以按照下列方式編寫getch和ungetch函式及其共享變數:

#include

getch方法 如何實現getch 函式的功能

使用 getch 函式,需要先引入 conio.h 標頭檔案 然而,我使用的是 cygwin 作為編譯環境,找不到 conio.h 所以只能想辦法找替代方法,或者自己構造乙個具有類似功能的函式。可惜,剛學沒多久,一時之間也是沒有想到什麼合適的替代方法,若說自己構造這個函式,這就更難了。原理為 臨時關...

關於 getch 的使用

下面是乙個關於 c語言中getch 函式的使用,這個函式在很多標準文件裡都沒有函式說明,下面是乙個基於它實現的密碼加密的程式實現,希望可以供有疑問的朋友參考!include include include void password char p else if ch b else if ch 8 ...

getch 函式實現cin的效果

眾所周知,getch 函式是用來無回顯讀入單個字元的,必須要用到傳說中的conio.h。這次,本博主給大家帶來的是用這個函式讀入字串。主要是考慮判斷按下enter ascii碼 13 和backspace ascii碼 8 兩個鍵後的狀態,注意按了退格鍵後又將原字元清空,按了回車鍵後要輸出換行。接著...