Linux下C編程:getch()詳解

來源:互聯網
上載者:User

getch()

所在標頭檔:conio.h

函數用途:從控制台讀取一個字元

函數原型:int getch(void)

傳回值:讀取的字元

例如:

char ch;或int ch;

getch();或ch=getch();

用getch();會等待你按下任意鍵,再繼續執行下面的語句;

用ch=getch();會等待你按下任意鍵之後,把該鍵字元所對應的ASCII碼賦給ch,再執行下面的語句。

易錯點:

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();(如果情況允許)代替此功能或更換一款編譯器。

查看全套文章:http://www.bianceng.cn/Programming/C/201212/34807.htm

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。