如何输入数字而不使用Enter 我可以用Enter:
来做scanf("%4d",&num);
那么如果不按回车键怎么办呢?
答案 0 :(得分:1)
为了避免输入enter,您需要使用icanon
系统调用(或ioctl
命令 - 假设您使用的是Linux)禁用stty
模式。您可能希望使用getchar而不是scanf
并执行自己的输入处理。这很困难。
你可以看一下这篇文章:
答案 1 :(得分:0)
正如我在上面的评论中所说,以及对@ Rabbid76的回复
getch()和putch()是conio.h中定义的非标准函数, 主要用于turbo C / dev C ++ environement。 getchar()是putchar() 是C标准中定义的标准函数,可以使用它们 所有环境。是的,你当然可以在没有这些的情况下编写程序 4个功能 来自谷歌
但如果有人坚持这里是怎么回事(不处理负数和退格)
int inputDgits(int nb){
int i=0;
int j=0;
char tmp;
for( j=0; j < nb; ){
tmp=getch();
if (tmp>='0' && tmp<='9'){
i *= 10;
i += tmp-'0';
j++;
printf("%c",tmp);
}else{
// beep;
}
}
return i;
}
答案 2 :(得分:-1)
谢谢,但我的意思是他的:
int i = 0;
for (i=0;i<4;i++)
{
getche();
}