[英]How could I read data in C without pressing ENTER?
我的一项作业有一点问题。 这是一个问题,如下所示:
使用 Switch 语句,编写一个读取值的程序,直到按下 ENTER 键。 如果按下字符“换行符”、“制表符”或“退格”,则 output 它们的名称。
这是我到目前为止所做的。
int main(){
char x;
x=getchar();
while(x!='\r')
{
switch (x)
{
case '\t':
printf("Tab!");
break;
case '\n':
printf("Newline!");
break;
case '\b':
printf("Backspace!");
break;
default: break;
}
x = getchar();
}
/* switch(x){
case '\r': break;
case '\t': printf("Tab!");
case '\n': printf("Newline!");
case '\b': printf("Backspace!");
default: x=getch();
} */
return 0;
}
我的问题是,每次我使用getch()
或scanf()
读取一个字符时,我都会按enter ,所以......程序并没有做太多。 您对我如何解决此问题有任何想法吗? 换行符也不是与 Enter 相同的键吗?
我在 Windows 10 和 VScode 中使用 MinGW64 作为 IDE。
从要求程序在获取一个字符后应该响应的要求中并不清楚。 可能不需要额外的工作,因为 output 是相同的,无论输入的行缓冲如何。
在 Linux 上,您可以将终端移动到“原始”模式(使用系统调用或使用stty
)。 Windows 没有这样的实用程序。 如果必须,请查看: Get key press in windows 控制台
鉴于这是基本的 Unix 练习,我怀疑您需要执行上述操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.