作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
默认情况下,如果不等待用户按回车键,您无法在 Unix 中获得终端输入。我怎样才能立即获得输入?我在 debian Linux 上使用 gdc,所以我不能使用 ncurses。谢谢。
最佳答案
ncurses 是一个很好的解决方案,应该适用于几乎所有带有任何编译器的 linux 安装...
但是如果你不想使用 ncurses,还有一些其他的选择:
在文件底部附近查找 version(Demo) void main()
。 RealTimeConsoleInput
为您提供带有即时输入和其他信息(鼠标、调整大小等)的事件循环。
tcgetattr
和 tcsetattr
调用更改终端模式,然后正常执行其他所有操作。您需要为函数import core.sys.posix.termios;
和import core.sys.posix.unistd;
,然后其余的操作与在 C.方法如下:
termios old;
tcgetattr(1, &old);
scope(exit) tcsetattr(1, TCSANOW, &old); // put the terminal back to how it was
auto n = old;
n.c_lflag &= ~ICANON; // turn off canonical mode
tcsetattr(1, TCSANOW, &n); // do the change
然后您可以立即使用输入。
关于linux - 如何在 Linux 中使用 D 编程语言取消缓冲输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22131283/
我是一名优秀的程序员,十分优秀!