首页 > 解决方案 > 在 c 中使用 getch() 仅将数字和字母作为输入

问题描述

我想要完成的是通过使用功能 getch 进行同步研究。我知道这个函数返回一个整数值,它代表一个键的 ASCII 码。是否有任何书面功能允许用户只写某些字符,例如:字母、数字和撇号。

标签: c

解决方案


char c;
int temp = 0;
while((c= getch()) !='\r')
{
    if ((temp == -32) || (temp == 0))
    {
    }
    else
    {
        if(isalnum((char)c) == 0)
        {
            if((c == '\'') || (c == -118) || (c == -115) || (c == -107) || (c == -123) || (c == -105))
            {
                printf("true: %c\n",c);
            }
            else
                printf("false: %d\n",c);
        }
        else
        {
            printf("true: %c\n",c);
        }
    }
    temp = c;
}

对于其他试图达到相同结果的人来说,这对我来说很好。


推荐阅读