當前位置:首頁 » 編程語言 » c語言讀取按鍵輸入
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言讀取按鍵輸入

發布時間: 2023-03-15 17:40:46

❶ 在c語言中如何實現用鍵盤輸入一個字元串,並列印出來

在C語言中實現用鍵盤輸入一個字元串,並列印出來的解決方法如下:

1、首先定義一個字元串數組,如你可以給字元串100個數組空間。如圖括弧內數字即為你定義的數組大小。

(1)c語言讀取按鍵輸入擴展閱讀:

字元數組的輸出:

(1)用putchar()或printf()的『%c』格式符對數組進行字元賦值。例如,對於數組a[10]:用putchar()賦值:

for(i=0;i<10;i++)

a[i]=putchar();

用printf()賦值:

for(i=0;i<10;i++)

printf("%c",a[i]);

輸出結果為:

c program[2]

(2)用printf()的'%s'格式對數組賦值。還是對於數組a[10];

printf("%s",a);

輸出結果為:

c program

參考資料來源:

網路-char

網路-字元數組

❷ c語言中怎樣輸入和讀取方向鍵

在用C語言寫出的「貪吃蛇」小游戲中,可以自編以下這個intokey( )函數,用來獲取方向鍵值以便控制蛇的拐彎。庫函數kbhit( )是檢測是否有按鍵被按下,Dir是代表方向的變數,整型變數flag用來獲取鍵值,1、2、3、4分別表示方向的上下左右。要#include<conio.h> .

void intokey( )

{ int flag;

if ( kbhit( ) ) //判斷有鍵按下時才執行下面操作

{ flag = getch( ); //用flag來獲取鍵值

if (flag==224) flag = getch( ); //值為224是方向鍵,要再次獲取才行

if (flag==72 && dir != 2) dir = 1; //方向鍵為「上」且原方向不為下時,讓dir=1.

if (flag==80 && dir != 1) dir = 2; //方向鍵為「下」且原方向不為上時,讓dir=2.

if (flag==75 && dir != 4) dir = 3; //方向鍵為「左」且原方向不為右時,讓dir=3.

if (flag==77 && dir != 3) dir = 4; //方向鍵為「右」且原方向不為左時,讓dir=4.

}

}

註:上下左右鍵按下後都會產生2個值,第一個是224,第二個才分別是72、80、75和

77.所以要用庫函數getch( )兩次獲取鍵值。如果是ASDW來控制拐彎,flag可以定義為

字元型,獲取一次鍵值即可。

❸ c語言中怎樣輸入和讀取方向鍵

在C代碼中可設置如下自編的intokey( )函數,用以接收方向鍵值。庫函數kbhit( )是檢測是否有按鍵被按下,庫函數getch( )是讀取鍵盤按鍵值的,不需按回車,也不回顯。dir是代表方向的變數,根據不同的方向鍵值,讓dir取1到4這四個不同的值。其它的程序段就可根據dir的值讓東西朝某個方向移動。方向鍵按下後會產生2個值,第一個是224,另一個分別為上下左右的72、80、75、77,因此要讀取2次值來判斷。要包含#include<conio.h> .

void intokey( )

{ int flag;

if ( kbhit( ) ) //判斷有鍵按下時才執行下面的操作

{ flag = getch( ); //用flag來獲取鍵值

if (flag==224)

{ flag = getch( ); //值為224時表示按下了方向鍵,要再次獲取才行

if ( flag==72 && dir != 2 ) dir = 1;

if ( flag==80 && dir != 1 ) dir = 2;

if ( flag==75 && dir != 4 ) dir = 3;

if ( flag==77 && dir != 3 ) dir = 4;

}

if (flag==13)

{ while( 1 ) if ( ( flag=getch( ) )==13 ) break ; }

}

}

註:這個函數來源於某些「貪吃蛇」的代碼,略有修改,足可獲取方向鍵值。其中的1、2、 3、4分別對應著上下左右。當flag獲得鍵值後,分兩種情況:一是flag=224,此時再次獲取鍵值以判斷輸入的是4個方向中的哪一個;二是flag=13,表示按下回車鍵,我們就執行循環,程序暫停,等待再次輸入回車,程序繼續運行。

❹ 如何在C語言中讀取鍵盤輸入的快捷鍵

命令行輸入是不響應很多組合鍵的
所以要想讀取快捷鍵,那麼就要從系統層面讀取
而不是用庫函數
在Windows下可以用key hook
在linux下可以讀取input event

❺ C語言鍵盤內容讀取

綜觀TC提供的鍵盤輸入函數,以bioskey函數為最合適選擇。

int bioskey(int cmd);
使用BIOS中斷0x16執行各種鍵盤操作。參數cmd確定實際得操作。
bioskey的返回值由cmd決定:
0:低8位非0,返回在隊列中等待的下一輸入鍵的ascii字元或鍵盤的下一次按鍵輸入的ascii字元。低8位為0,則高8位為擴展鍵盤碼。

1:測試是否有可讀的輸入鍵,為0,則沒有。Ctrl_break 返回0xffff(-1)。否則,返回下一個輸入鍵。鍵值還保存,供下次cmd=0時bioskey調用返回。

2:請求當前換檔鍵狀態。狀態值由下列值相或(or)得到:

位7 0x80 Insert ON
6 0x40 Caps ON
5 0x20 Numlock ON
4 0x10 Scroll Lock ON
3 0x08 ALT
2 0x04 CTRL
1 0x02 <- SHIFT
0 0x01 -> SHIFT

為了方便起見,我們首先定義一些常用功能鍵的鍵值。

#define ReturnKey 0x0d
#define ESC 0x1b
#define Back 0x08

#define LeftArrow 0x4b00
#define RightArrow 0x4d00
#define UpArrow 0x4800
#define DownArrow 0x5000

#define PageUp 0x4900
#define PageDown 0x5100
#define Home 0x4700
#define End 0x4f00

#define F1 0x3b00
#define F2 0x3c00
#define F3 0x3d00
#define F4 0x3e00
#define F5 0x3f00
#define F6 0x4000
#define F7 0x4100
#define F8 0x4200
#define F9 0x4300
#define F10 0x4400

int GetKey(void)
{
int tKey;
while(bioskey(1)==0)
;

tKey=bioskey(0);
if ((tKey & 0xff)!=0)
tKey=tKey & 0xff;
return tKey;

}

以上代碼,可基本完成常用程序鍵盤讀取操作。

但我們必須注意到,對於函數GetKey的定義中,bioskey函數的使用,我們只是對cmd=0,1的情況進行了處理,而對於cmd=2,也即換檔鍵狀態沒有進行處理,因而諸如ctrl-home等等GetKey不能進行相應的接收,如果確實需要,須繼續擴充GetKey函數。

❻ 在C語言中通常使用 什麼函數獲得用戶從鍵盤上的輸入

scanf函數
scanf("%d",&a); 輸入一個整數賦值給a;
scanf("%f",&a); 輸入一個浮點數賦值給a;
scanf("%c",&a); 輸入一個字元賦值給a;
scanf("%s",%a); 輸入一個字元串賦值給a;