c語言中getch,getche,getchar的區(qū)別
getchar 是stdio.h中的庫函數,它的作用是從stdin流中讀入一個字符,也就是說 ,如果stdin有數據的話不用輸入就可以直接讀取了。而getch()和getche()是conio.h中的庫函數,它的作用是從鍵盤接收字符。
getch() 實際是一個輸入命令,作用是從鍵盤接收一個字符,而且并不把這個字符顯示出來,就是說,你按了一個鍵后它并不在屏幕上顯示你按的什么,而繼續(xù)運行后面的代碼,所以我們在C++中可以用它來實現(xiàn)“按任意鍵繼續(xù)”的效果,即程序中遇到getch();這行語句,它就會把程序暫停下來,等你按任意鍵,它接收了這個字符鍵后再繼續(xù)執(zhí)行后面的代碼。
你也許會問,為什么我們在C++中就沒有在程序的末尾加上getch(),解釋是,軟件總是不斷更新的,不好的地方當然要進行改正,getch()加在程序末尾,它又不賦值給任何變量,所以它在這個地方完全是垃圾代碼,與程序無關。C++中考慮到這一點,于是在每次程序運行完了并不退出,而是自動把屏幕停下來,并顯示“press any key...”叫你按任意鍵退出,這就好比C++在它的環(huán)境中運行程序,在程序的末尾自動加上了一行getch();語句,并且在這行語句前還添加了一行輸出語句cout<<"press any key...";來提示你程序結束了,按任意鍵繼續(xù)。
getche() 和getch()很相似,它也需要引入頭文件conio.h,那它們之間的區(qū)別又在哪里呢?不同之處就在于getch()無返回顯示,getche()有返回顯示。
相關文章
Linux網絡編程之基于UDP實現(xiàn)可靠的文件傳輸示例
這篇文章主要介紹了Linux網絡編程之基于UDP實現(xiàn)可靠的文件傳輸示例,是很實用的技巧,需要的朋友可以參考下2014-08-08