C 裡有沒有C語言的bioskey()函式

2022-06-09 08:03:11 字數 5373 閱讀 7717

1樓:sos回答這問題

好像沒有#include。

c++用的是rand()這個函式是用來產生隨機數的,範圍從0到rand_max, 在中有這樣一個定義:

#define rand_max 0x7fff //就是32767瞭如果需要產生n到m範圍內的隨機整數,可以:

int ans=rand()*(m-n)/rand_max+n;

如果要產生精度更高、更加均勻的隨機數,有一個簡單的方法,是把若干15位隨機數拼接成一個大隨機數。比如:

__int64 a,ans=0;

for(int k=0; k<4; k++)在matlab上測試其顆粒度與均勻性與專業函式產生的隨機數效能有差距但不大。

2樓:蛋疼_無聊_宅男

只要你的c++,編譯器支援bios.h標頭檔案就行,這是編譯器的事,與語言沒多大關係,c++應該繼承大多數c的函式!!!

c++中那個函式和c中的bioskey()作用一樣?

3樓:匿名使用者

換個方式,用kbhit(),配合getkeystate()即可獲得你想要的結果

例如:#include

#include

int main( void )

請問c語言中的bioskey(0)是啥意思,括號裡的值又有啥用?

4樓:匿名使用者

bioskey(1) == 0表示沒有按下鍵。

bioskey(0)按下的鍵值

函式名: bioskey

功 能: 直接使用bios服務的鍵盤介面

函式原型:int bioskey (int cmd)

說明:bioskey()的函式原型在bios.h中

bioskey()完成直接鍵盤操作,cmd的值決定執行什麼操作。

cmd = 0:

當cmd是0,bioskey()返回下一個在鍵盤鍵入的值(它將等待到按下一個鍵)。它返回一個16位的二進位制數,包括兩個不同的值。當按下一個普通鍵時,它的低8位數存放該字元的ascii碼;對於特殊鍵(如方向鍵、f1~f12等等),低8位為0,高8位位元組存放該鍵的掃描碼。

cmd = 1:

當cmd是1,bioskey()查詢是否按下一個鍵,若按下一個鍵則返回非零值,否則返回0。

cmd = 2:

當cmd是2,bioskey()返回shift、ctrl、alt、scrolllock、numlock、capslock、insert鍵的狀態。各鍵狀態存放在返回值的低8位位元組中。

函式名: bioskey

功 能: 直接使用bios服務的鍵盤介面

函式原型:int bioskey (int cmd)

說明:bioskey()的函式原型在bios.h中

bioskey()完成直接鍵盤操作,cmd的值決定執行什麼操作。

cmd = 0:

當cmd是0,bioskey()返回下一個在鍵盤鍵入的值(它將等待到按下一個鍵)。它返回一個16位的二進位制數,包括兩個不同的值。當按下一個普通鍵時,它的低8位數存放該字元的ascii碼;對於特殊鍵(如方向鍵、f1~f12等等),低8位為0,高8位位元組存放該鍵的掃描碼。

cmd = 1:

當cmd是1,bioskey()查詢是否按下一個鍵,若按下一個鍵則返回非零值,否則返回0。

cmd = 2:

當cmd是2,bioskey()返回shift、ctrl、alt、scrolllock、numlock、capslock、insert鍵的狀態。各鍵狀態存放在返回值的低8位位元組中。

5樓:問心之心

是不是子函式呼叫啊,0是引數。看一下函式的呼叫就知道了

c語言中的bioskey()

6樓:匿名使用者

是各按鍵的控制碼.鍵盤上每個按鍵都有自己唯一的控制碼,但不一定有唯一的ascii碼,比如小鍵盤上的數字和主鍵盤上的數字鍵,ascii碼相同,但控制碼不同.

7樓:匿名使用者

是上下左右和esc鍵的編碼

8樓:匿名使用者

bioskey()接收的是掃描碼。

函 數 名: bioskey 標頭檔案:bios.h

功 能: 直接使用bios服務的鍵盤介面(也可以理解為:讀取鍵盤值)

用 法: int bioskey(int cmd);

輸入引數:cmd=0 返回一個鍵盤值,如無鍵盤按下,一直等待。

cmd=1 查詢鍵盤是否按下 0-無鍵按下,非0-有鍵按下。

cmd=2 返回控制鍵狀態,返回值儲存在低8位中。

#define num1 0x4f31 /* 小鍵盤區上數字鍵1 */

#define num2 0x5032 /* 小鍵盤區上數字鍵2 */

#define num3 0x5133 /* 小鍵盤區上數字鍵3 */

#define num4 0x4b34 /* 小鍵盤區上數字鍵4 */

#define num5 0x4c35 /* 小鍵盤區上數字鍵5 */

#define num6 0x4d36 /* 小鍵盤區上數字鍵6 */

#define num7 0x4737 /* 小鍵盤區上數字鍵7 */

#define num8 0x4838 /* 小鍵盤區上數字鍵8 */

#define num9 0x4939 /* 小鍵盤區上數字鍵9 */

#define numpnt 0x532e /* 小鍵盤區上 . 鍵 */

#define numadd 0x4e2b /* 小鍵盤區上 + 鍵 */

#define numsub 0x4a2d /* 小鍵盤區上 - 鍵 */

#define nummul 0x372a /* 小鍵盤區上 * 鍵 */

#define numdiv 0x352f /* 小鍵盤區上 / 鍵 */

#define numequ 0x1c0d /* 小鍵盤區上 = 鍵 */#define key0 0xb30 /* 主鍵盤區上數字鍵0 */

#define key1 0x231 /* 主鍵盤區上數字鍵1 */

#define key2 0x332 /* 主鍵盤區上數字鍵2 */

#define key3 0x433 /* 主鍵盤區上數字鍵3 */

#define key4 0x534 /* 主鍵盤區上數字鍵4 */

#define key5 0x635 /* 主鍵盤區上數字鍵5 */

#define key6 0x736 /* 主鍵盤區上數字鍵6 */

#define key7 0x837 /* 主鍵盤區上數字鍵7 */

#define key8 0x938 /* 主鍵盤區上數字鍵8 */

#define key9 0xa39 /* 主鍵盤區上數字鍵9 */

#define keypnt 0x342e /* 主鍵盤區上 . 鍵 */

#define keysub 0xc2d /* 主鍵盤區上 - 鍵 */

#define keymul 0x92a /* 主鍵盤區上 * 鍵 */

#define keyequ 0xd3d /* 主鍵盤區上 = 鍵

9樓:明靚劇堅

bioskey函式介紹

函式原型:int

bioskey

(int

cmd)

說明:bioskey()的函式原型在bios.h中bioskey()完成直接鍵盤操作,cmd的值決定執行什麼操作。

cmd=

0:當cmd是0,bioskey()返回下一個在鍵盤鍵入的值(它將等待到按下一個鍵)。它返回一個16位的二進位制數,包括兩個不同的值。

當按下一個普通鍵時,它的低8位數存放該字元的ascii碼;對於特殊鍵(如方向鍵、f1~f12等等),低8位為0,高8位位元組存放該鍵的掃描碼。

cmd=

1:當cmd是1,bioskey()查詢是否按下一個鍵,若按下一個鍵則返回非零值,否則返回0。

cmd=

2:當cmd是2,bioskey()返回shift、ctrl、alt、scrolllock、numlock、capslock、insert鍵的狀態。各鍵狀態存放在返回值的低8位位元組中。

位元組位含義

0右邊shift鍵狀態

1左邊shift鍵狀態

3ctrl鍵狀態

4alt鍵狀態

5scrolllock鍵狀態

6numlock鍵狀態

7capslock鍵狀態

8insert鍵狀態

位元組位為1表示該鍵被按下,為0表示鬆開。

c語言bioskey()函式問題

10樓:匿名使用者

那我怎麼能取出低8位的ascii的值?

答:short a = bioskey(cmd);//要獲取普通鍵時,cmd的值設定為0;即:short a = bioskey(0);

int low = a &0xff; //低八位放在了low裡了

int high = a >>8; //高八為放在了high裡了

short a = bioskey(2);

int low = a &0xff; //第八位放在了low裡了

當cmd是2,bioskey()返回shift、ctrl、alt、scrolllock、numlock、capslock、insert鍵的狀態。各鍵狀態存放在返回值的低8位位元組中。

位元組位 含義

0 右邊shift鍵狀態

1 左邊shift鍵狀態

2 ctrl鍵狀態

3 alt鍵狀態

4 scrolllock鍵狀態

5 numlock鍵狀態

6 capslock鍵狀態

7 insert鍵狀態

位元組位為1表示該鍵被按下,為0表示鬆開。

不是說低八位嗎?也就是0-7這八位。如只按下了ctrl鍵,就是:[高位] 00000100 [地位]; 也就是low = 4;

加入按下ctrl鍵的同時,也按下了alt鍵,就是:[高位] 00001100 [地位]; 也就是low = 12;

11樓:匿名使用者

unsigned char low8bit = return_value & 0xff;

關於c語言tb的問題,C語言裡tb

你的執行結果應該是 j?k t 是作為一個整個的 tab 鍵。如果你在記事本編輯狀態下,新起一行,直內接輸入 tab 鍵,直接到第容 9 列,如果你先輸入 3 個字元,你再輸入 tab 鍵,還是到第 9 列,但是 tab 鍵的長度已經變短了。你可以試一試就明白了。t是水平製表符,空出8個字元,b是游...

c語言中的fgets函式,C語言裡fgets函式怎麼用?

fgets 函式用於從檔案流中讀取一行或指定個數的字元,其原型為 版char fgets char string,int size,file stream 引數說明 string為一個字元陣列,用來保權 存讀取到的字元。size為要讀取的字元的個數。如果該行字元數大於size 1,則讀到 size ...

c在c語言程式設計裡是做什麼用的, c 在C語言程式設計裡是做什麼用的??

通過你的描述我大概知道你要表述的意思了,fscanf是進行檔案讀取操作,而檔案中資料的存放格式是用中間 來描述規範的,當然,第一項大家都知道,是開啟檔案的指標 file,這裡是output fopen 至於第三項,是要儲存的位置,你的情況是 c字元,而 c就是檔案中的間隔符。有沒完整點的 啊。實在沒...