C語言使用getch()讀取方向鍵
更新時間:2021年07月06日 09:39:36 作者:天歲
getch()是編程中所用的函數(shù),這個函數(shù)是一個不回顯函數(shù),當用戶按下某個字符時,函數(shù)自動讀取,無需按回車,有的C語言命令行程序會用到此函數(shù)做游戲,但是這個函數(shù)并非標準函數(shù),要注意移植性
初衷:
在解決N皇后問題時需要使用方向鍵實現(xiàn)布局切換,于是就在網(wǎng)上查找資料,感覺自己收獲不小,就把自己總結的一些知識點給記錄下來。
總結:
1.getch()讀取字符需要一次。
2.getch()讀取方向鍵或功能鍵需要兩次。
(第一次的返回值為0或者224(方向鍵)
getch函數(shù)在讀取一個功能鍵或者箭頭(方向)鍵盤時,函數(shù)會返回兩次,第一次調用返回0或者0xE0,第二次調用返回實際的鍵值。
72,80,75,77返回值分別是↑↓←→。
代碼演示:
while (1){ //無限循環(huán) //使用getch()讀取方向鍵,讀取方向鍵需要讀取兩次 if (ch1=getch()){ ch2=getch();//第一次調用getch(),返回值224 switch (ch2){//第二次調用getch() case 75: { //←的ascll if(current-1>=0){ current--; }else{ current = tol-1; } system("cls\n"); cout<<"請輸入皇后的數(shù)量:"<<n<<endl; cout<<"一共有"<<tol<<"種布局"<<endl<<endl; show(current); break; } case 77: { if(current+1<=tol-1){ current++; }else{ current = 0; } system("cls\n"); cout<<"請輸入皇后的數(shù)量:"<<n<<endl; cout<<"一共有"<<tol<<"種布局"<<endl<<endl; show(current); break; } default:cout<<"輸入錯誤!"<<endl;break; } }
到此這篇關于C語言使用getch()讀取方向鍵的文章就介紹到這了,更多相關C語言讀取方向鍵內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關文章
C#操作數(shù)據(jù)庫總結(vs2005+sql2005)
C#操作數(shù)據(jù)庫總結,每次做項目都會用到數(shù)據(jù)庫,對數(shù)據(jù)庫的操作都是糊里糊涂從書里找代碼用。通過昨天晚上與今天早上的努力,把數(shù)據(jù)庫的操作整理了一下,下面把整理結果做個小結2012-09-09