如何使用Linux中的D编程语言解压缩输入?

时间:2014-03-02 18:07:31

标签: linux terminal d ncurses gdc

默认情况下,无需等待用户按Enter即可在Unix中获取终端输入。 如何立即获得输入?我在debian Linux上使用gdc所以我不能使用ncurses。 感谢。

1 个答案:

答案 0 :(得分:3)

ncurses是一个很好的解决方案,几乎可以用于任何编译器的任何Linux安装......

但是如果你不想使用ncurses,还有其他一些选择:

查看文件底部附近的version(Demo) void main()RealTimeConsoleInput为您提供一个带有即时输入和其他信息的事件循环(如果需要)(鼠标,调整大小等)。

  • 您也可以使用正确的tcgetattrtcsetattr调用更改终端模式,然后正常执行其他操作。对于函数,您需要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

然后你可以立即使用输入。

相关问题