如何在不等待按ENTER的情况下从stdin中只读取一个字符?

时间:2012-11-11 12:34:38

标签: character stdin smalltalk enter

我的VisualWorks应用程序的CLI实现。 有“IOAccessor defaultClass stdin”,我想读取一个字符而不等待用户输入。 有可能吗?

在C语言中有像getCh ...

这样的函数

1 个答案:

答案 0 :(得分:2)

这不是语言的问题:C语言getchar()也必须等待。 这是底层操作系统的tty-code的问题。在UNIX(例如Linux)上,您必须使用stty(旧式)或ioctl调用将tty-characteristics更改为unbuffered。 在其他操作系统下,类似的系统调用会做类似的事情。