我想要完成的是使用功能getch同时进行的研究。我知道这个函数返回一个整数值,表示一个键的ASCII码。是否有任何wroten功能允许用户只写某些字符,如:字母,数字和撇号。
答案 0 :(得分:1)
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;
}
对于那些试图取得同样结果的人来说,这对我来说很好。
答案 1 :(得分:0)
是否有任何写入功能允许用户只写某些字符,例如:字母,数字和撇号。 (?)
代码可以选择写入
#include <ctype.h>
#include <stdio.h>
int c; // use type `int` here to distinguish all (256) characters from EOF
while((c = getch()) != '\r' && c != '\n' && c != EOF) {
if (isalnum(c) || '\'') {
putchar(c);
}
}