複製鏈接
請複製以下鏈接發送給好友

getch()

鎖定
getch()是編程中所用的函數,這個函數是一個不回顯函數,當用户按下某個字符時,函數自動讀取,無需按回車,有的C語言命令行程序會用到此函數做遊戲,但是這個函數並非標準函數,要注意移植性!
外文名
getch
頭文件
conio.h
注意事項
此函數非標準函數,請注意移植性
語    種
C語言,C++兼容

目錄

getch()主要內容

getch():
函數用途:從控制枱讀取一個字符,但不顯示在屏幕上
函數原型:int getch(void)
返回值:讀取的字符
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();會等待你按下任意鍵,再繼續執行下面的語句;
用ch=getch();會等待你按下任意鍵之後,把該鍵字符所對應的ASCII碼賦給ch,再執行下面的語句。

getch()易錯點

1.所在頭文件是conio.h。而不是stdio.h
2.在使用之前要調用initscr(),結束時要調用endwin()。否則會出現不輸入字符這個函數
也會返回的情況。
3.在不同平台,輸入回車,getch()將返回不同數值,而getchar()統一返回10(即\n)
1)windows平台下ENTER鍵會產生兩個轉義字符 \r\n,因此getch返回13(\r)。
2)unix、 linux系統中ENTER鍵只產生 \n ,因此getch返回10(\n)。
3)MAC OS中ENTER鍵將產生 \r ,因此getch返回13(\r)。
getch();並非標準C中的函數,不存在C語言中。所以在使用的時候要注意程序的可移植性。國內C語言新手常常使用getch();來暫停程序且不知道此函數來源,建議使用getchar()或者使用頭文件中的system("PAUSE")調用系統命令暫停;(如果情況允許)代替此功能或更換一款編譯器