当前位置: 技术问答>linux和unix
最简单的问题!!!如何接收1个按键并显示???
来源: 互联网 发布时间:2015-05-27
本文导语: 要求,输入 字母a 显示字母a 我用 ch = getchar();,可是按下a 后还必须按回车才行, 怎么只按a就可接收到? | 从某个地方看的一个,好用 #include "stdio.h" #include "stdlib.h" main() { int c; printf("H...
要求,输入 字母a 显示字母a
我用 ch = getchar();,可是按下a 后还必须按回车才行,
怎么只按a就可接收到?
我用 ch = getchar();,可是按下a 后还必须按回车才行,
怎么只按a就可接收到?
|
从某个地方看的一个,好用
#include "stdio.h"
#include "stdlib.h"
main()
{
int c;
printf("Hit any character to continuen");
/*
* ioctl() would be better here; only lazy
* programmers do it this way:
*/
system("/bin/stty cbreak");/* or "stty raw" */
c = getchar();
system("/bin/stty -cbreak");
printf("Thank you for typing %c.n",c);
exit(0);
}
#include "stdio.h"
#include "stdlib.h"
main()
{
int c;
printf("Hit any character to continuen");
/*
* ioctl() would be better here; only lazy
* programmers do it this way:
*/
system("/bin/stty cbreak");/* or "stty raw" */
c = getchar();
system("/bin/stty -cbreak");
printf("Thank you for typing %c.n",c);
exit(0);
}
|
这种方式不是最好,应该用tcsetattr来设置STDIN_FILENO的属性,清楚ICANON。关于终端I/O编程,建议看APUE或者《UNIX Systems Programming》的相关章节。