c語言中怎樣輸入和讀取方向鍵,如何獲分辨鍵盤是輸入了方向鍵,用的是C語言!

時間 2021-10-15 00:23:17

1樓:鳴蟬百

在c**中可設定如下自編的intokey(  )函式,用以接收方向鍵值。庫函式kbhit( )是檢測是否有按鍵被按下,庫函式getch(  )是讀取鍵盤按鍵值的,不需按回車,也不回顯。dir是代表方向的變數,根據不同的方向鍵值,讓dir取1到4這四個不同的值。

其它的程式段就可根據dir的值讓東西朝某個方向移動。方向鍵按下後會產生2個值,第一個是224,另一個分別為上下左右的72、80、75、77,因此要讀取2次值來判斷。要包含#include.

void  intokey(  )

}

注:這個函式**於某些“貪吃蛇”的**,略有修改,足可獲取方向鍵值。其中的1、2、 3、4分別對應著上下左右。

當flag獲得鍵值後,分兩種情況:一是flag=224,此時再次獲取鍵值以判斷輸入的是4個方向中的哪一個;二是flag=13,表示按下回車鍵,我們就執行迴圈,程式暫停,等待再次輸入回車,程式繼續執行。

2樓:就無名

哪有他們說的那麼複雜,直接 int ch = _getch(); 試試不就知道了?上下左右都是不一樣的;注意是 int 不是 char ;

3樓:文正

一般是使用getch獲取

方向鍵(←): 0xe04b

方向鍵(↑): 0xe048

方向鍵(→): 0xe04d

方向鍵(↓): 0xe050

一個方向鍵要用兩個getch才能把它的資料獲取完.

然後對應著兩個字元資料, 一個當高位, 一個當低位, 就可以判斷按下的是什麼鍵, 如:

char ch = getch();

if(ch == 0xe000) //如果高位相等else //如果不是, 把這個字元吸收了.

getch()

新版的vc版本用_getch替換了.

4樓:匿名使用者

那你先要熟悉鍵盤編碼和asc碼,然後跟值比較啊!

5樓:匿名使用者

可以使用 _getch 函式

#include

#include

void main()

else if( key == 77 ) //right }neednextkey = false;

} if( key <= 0 ) }

printf_s( "press any key to continue...\n" );

_getch();}

6樓:匿名使用者

有點難度,我給你問下。。

如何獲分辨鍵盤是輸入了方向鍵,用的是c語言!

7樓:匿名使用者

1、一般是使用getch獲取

方向鍵(←): 0xe04b

方向鍵(↑): 0xe048

方向鍵(→): 0xe04d

方向鍵(↓): 0xe050

一個方向鍵要用兩個getch才能把內它的資料獲取完容.

然後對應著兩個字元資料, 一個當高位, 一個當低位, 就可以判斷按下的是什麼鍵, 如:

char ch = getch();

if(ch == 0xe000) //如果高位相等else //如果不是, 把這個字元吸收了.

getch()

2、例程:

#include

#include

main()

8樓:

//你好,來在接收方向鍵時只需獲取自鍵盤的按鍵bai鍵值,然後根據不du

同的鍵值進行不同的處理zhi即可

//一個簡單且完整dao的示例如下

#include

#include

int main()

}return 0;}

9樓:金色潛鳥

下面程式探測方向鍵編碼(16進位制和10進位制)。

按1個鍵,內讀得2個碼:

容#include

#include

main()

0xe0,0x48 上

0xe0,0x4b 左

0xe0,0x4d 右

0xe0,0x50 下

10樓:hh矢羽

用asc碼鍵盤上的鍵都有對應的asc碼

c語言如何使用鍵盤上的上下左右鍵

11樓:c基生物

int keydown()

return c;}

我也碰到這種事,暫時用這個..

12樓:天雲一號

用bioskey()函式可以實現讀取鍵盤的上下左右鍵函式原型:int bioskey (int cmd)說       明:bioskey()的函式原型在bios.

h中,即必須包含標頭檔案#include

讀取方向鍵可以用下面的程式啊!

#include

#include

#define key_up 0x4800    // 向上方向鍵#define key_down 0x5000  // 向下方向鍵#define key_right 0x4d00  // 向右方向鍵#define key_left 0x4b00   // 向左方向鍵void main()

case key_down :

case key_left :

case key_right :    }}

C語言中對使用者輸入的讀取

因為你輸入完第一個字元後按了回車鍵,而回車鍵實際上輸入了2個字元,第一個字元被scanf用來確認輸入結束,第2個位元組仍保留在緩衝區內,被第2個scanf讀到了,因此b的值實際上是回車輸入的第2個字元,是個控制字元,不可見.以後注意了,在scanf c getchar之類輸入字元的語句前,要加ffl...

c語言怎樣輸入對數,在c語言中log怎麼輸入

大野瘦子 include include void main c語言中使用對數函式的方法 log 函式 返回以e為底的對數值 標頭檔案 1 include log 函式返回以 e 為底的對數值,其原型為 1double log double x log 用來計算以e為底的 x 的對數值,然後將結果返...

在c語言中怎麼實現輸入esc退出其他鍵繼續

四舍 入 include include intmain while 1 if kbhit getch 0x1b break printf dosomething.當前階段,在程式設計領域中,c語言的運用非常之多,它兼顧了高階語言和組合語言的優點,相較於其它程式語言具有較大優勢。計算機系統設計以及應...