一、getchar()
函數名: getchar
功 能: 從stdin流中讀字元
用 法: int getchar(void);
所在標頭檔:stdio.h
程式例:
#include <iostream><br />using namespace std;<br />#include <stdio.h></p><p>int main()<br />{<br /> char c;<br /> while ((c = getchar()) != '/n')<br /> {<br /> cout<<c;<br /> }<br /> return 0;<br />}
二、getch()
函數名: getch
功 能: 從控制台無回顯地取一個字元
用 法: int getch(void);
所在標頭檔:conio.h
程式例:
#include <iostream><br />using namespace std;<br />#include <conio.h></p><p>int main()<br />{<br /> char ch;<br /> cout<<"Please input a character.";<br /> ch = getch();<br /> cout<<"/nYou input a character:"<<ch<<endl;<br /> return 0;<br />}
三、getche()
函數名: getche
功 能: 從控制台有回顯地取一個字元
用 法: int getche(void);
所在標頭檔:conio.h
程式例:
#include <iostream><br />using namespace std;<br />#include <conio.h></p><p>int main()<br />{<br /> char ch;<br /> cout<<"Please input a character:";<br /> ch = getche();<br /> cout<<"/nYou input a character:"<<ch<<endl;<br /> return 0;<br />}
四、三者之間的區別
getch() 無回顯,無須斷行符號
getche() 有回顯,無須斷行符號
getchar() 有回顯,須斷行符號
五、重點講下gechar()
getchar()永遠只向緩衝中輸入一個字元,對於getchar()函數確實可以接受任何一個字元(不知道那些虛擬鍵能不能用哦,比如說F1等,這還有待考證),包括空格,斷行符號等符號,與cin不同,cin 會自動把控制符作為輸入界限。因getchar()能夠接受任何字元,故在按斷行符號時,並不會有任何輸出,而需要一個條件限制,如用 while (a != ‘/r’)。
getchar()只能輸出一個字,要輸出多個就用gets。
getchar()的用法很多。一種是清空斷行符號符,這種情況一般發生在在迴圈中涉及到輸入的情況;還有一種是某些編譯平台(IDE)在運行程式時並沒有在程式運行後給人看結果的時間,這時候,在程式最後加上getchar()就能造成程式的暫停,可給程式員看結果的機會。