wgetchf.c

来自「详细介绍了一篇关于pci开发的接口芯片」· C语言 代码 · 共 45 行

C
45
字号
/*  CXL - Copyright (c) 1987-1989 by Mike Smedley - All Rights Reserved  */
/*  WGETCHF.C    - gets a character from the keyboard from a valid list  */

#include <conio.h>
#include <ctype.h>
#include <dos.h>
#include <stdio.h>
#include "cxldef.h"
#include "cxlkey.h"
#include "cxlwin.h"

int wgetchf(char *valid,int defchar)
{
    register int i;
    int ch;

    if(!_winfo.total) {                      /* check for active windows */
        _winfo.errno=W_NOACTIVE;
        return(0);
    }

    for(;;) {
        ch=(char)(getxch()&0x00ff);
        ch=toupper(ch);
        if(ch==ESC) {
            if(_winfo.esc) {             /*  is Escape checking on?  */
                _winfo.errno=W_ESCPRESS;
                return(0);
            }
        }
        if(ch==CR&&defchar) {
            ch=toupper(defchar);
            goto dispchar;
        }
        for(i=0;valid[i];i++) {
            if(ch==toupper(valid[i])) {
dispchar:
                wputc(ch);
                _winfo.errno=W_NOERROR;
                return(ch);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?