最简单的问题!!!如何接收1个按键并显示???

zilingzhang 2003-12-26 02:37:23
要求,输入 字母a 显示字母a
我用 ch = getchar();,可是按下a 后还必须按回车才行,
怎么只按a就可接收到?
...全文
28 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fierygnu 2003-12-27
  • 打赏
  • 举报
回复
这种方式不是最好,应该用tcsetattr来设置STDIN_FILENO的属性,清楚ICANON。关于终端I/O编程,建议看APUE或者《UNIX Systems Programming》的相关章节。
verymorose 2003-12-26
  • 打赏
  • 举报
回复
设置终端为非规范方式和规范方式,你可以看一下有关终端IO的资料
zilingzhang 2003-12-26
  • 打赏
  • 举报
回复
system("/bin/stty cbreak");
system("/bin/stty -cbreak");
那位老兄能不能给解释一下这条语句?

verymorose 2003-12-26
  • 打赏
  • 举报
回复
从某个地方看的一个,好用
#include "stdio.h"
#include "stdlib.h"
main()
{
int c;
printf("Hit any character to continue\n");
/*
* 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);
}

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧