C語言使用getch()讀取方向鍵
初衷:
在解決N皇後問題時需要使用方向鍵實現佈局切換,於是就在網上查找資料,感覺自己收獲不小,就把自己總結的一些知識點給記錄下來。
總結:
1.getch()讀取字符需要一次。
2.getch()讀取方向鍵或功能鍵需要兩次。
(第一次的返回值為0或者224(方向鍵)
getch函數在讀取一個功能鍵或者箭頭(方向)鍵盤時,函數會返回兩次,第一次調用返回0或者0xE0,第二次調用返回實際的鍵值。
72,80,75,77返回值分別是↑↓←→。
代碼演示:
while (1){ //無限循環 //使用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<<"請輸入皇後的數量:"<<n<<endl; cout<<"一共有"<<tol<<"種佈局"<<endl<<endl; show(current); break; } case 77: { if(current+1<=tol-1){ current++; }else{ current = 0; } system("cls\n"); cout<<"請輸入皇後的數量:"<<n<<endl; cout<<"一共有"<<tol<<"種佈局"<<endl<<endl; show(current); break; } default:cout<<"輸入錯誤!"<<endl;break; } }
到此這篇關於C語言使用getch()讀取方向鍵的文章就介紹到這瞭,更多相關C語言讀取方向鍵內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!