有人知道TC中的bioskey()函数如何用吗
有人知道TC中的bioskey()函数怎么用吗
我有个问题请教大家,我在看源程序时看到了一个调用TC库函数中的bioskey()函数的例子,我有些看不懂请达人指教。
源代码如下:
/****************************************************************/
/*bioskey函数 */
/*函数原型: int bioskey(int cmd); */
/*函数功能: */
/* 利用函数bioskey可以实现三种功能,参数cmd为要实现的功能号,*/
/*值只能为0、1、2,具体含义如下: */
/* 0:在系统中有一个按键队列,所有的键盘按键都在这里排成队。该*/
/*功能就是如果按键队列中有按键,那么读取队列首位的按键,并返回按*/
/*键值;否则等待键盘按键出现。( 其中按键值的高字节为扫描码,低字*/
/*节为ASCII码) */
/* 1:如果按键队列中没有按键,那么返回零,否则返回非零。 */
/* 2:返回特殊按键Shift、Ctrl、Alt等键的按键状态。 */
/****************************************************************/
/*bioskey例程*/
#include <stdio.h>
#include <bios.h>
#include <ctype.h>
#define RIGHT 0x01
#define LEFT 0x02
#define CTRL 0x04
#define ALT 0x08
int main(void)
{
int key, modifiers;
/* 1号功能返回零,除非按下了一个键*/
while (bioskey(1) == 0);
/* 0号功能返回等待中按下的键*/
key = bioskey(0);
/* 2号功能用于判断特殊键是否被按下*/
modifiers = bioskey(2);
if (modifiers)
{
printf( "[ ");
if (modifiers & RIGHT) printf( "RIGHT ");
if (modifiers & LEFT) printf( "LEFT ");
if (modifiers & CTRL) printf( "CTRL ");
我有个问题请教大家,我在看源程序时看到了一个调用TC库函数中的bioskey()函数的例子,我有些看不懂请达人指教。
源代码如下:
/****************************************************************/
/*bioskey函数 */
/*函数原型: int bioskey(int cmd); */
/*函数功能: */
/* 利用函数bioskey可以实现三种功能,参数cmd为要实现的功能号,*/
/*值只能为0、1、2,具体含义如下: */
/* 0:在系统中有一个按键队列,所有的键盘按键都在这里排成队。该*/
/*功能就是如果按键队列中有按键,那么读取队列首位的按键,并返回按*/
/*键值;否则等待键盘按键出现。( 其中按键值的高字节为扫描码,低字*/
/*节为ASCII码) */
/* 1:如果按键队列中没有按键,那么返回零,否则返回非零。 */
/* 2:返回特殊按键Shift、Ctrl、Alt等键的按键状态。 */
/****************************************************************/
/*bioskey例程*/
#include <stdio.h>
#include <bios.h>
#include <ctype.h>
#define RIGHT 0x01
#define LEFT 0x02
#define CTRL 0x04
#define ALT 0x08
int main(void)
{
int key, modifiers;
/* 1号功能返回零,除非按下了一个键*/
while (bioskey(1) == 0);
/* 0号功能返回等待中按下的键*/
key = bioskey(0);
/* 2号功能用于判断特殊键是否被按下*/
modifiers = bioskey(2);
if (modifiers)
{
printf( "[ ");
if (modifiers & RIGHT) printf( "RIGHT ");
if (modifiers & LEFT) printf( "LEFT ");
if (modifiers & CTRL) printf( "CTRL ");