|
|
1
9
我最近也做过类似的事情(尽管我的代码仅限Linux)。必须将stdin设置为非规范模式才能读取按箭头键的次数。这应该可以在OSX和Linux上运行,也可能在Cygwin上运行,尽管我不能肯定。
您可能还想设置
大多数终端表示使用
ANSI escape sequences
其中'\033'是
|
|
|
2
5
|
|
3
2
支持可打印字符行以外的键盘输入的标准方法是通过 ncurses 图书馆,有一个 Ocaml binding readline 如果您所做的只是逐行阅读输入,但希望您的用户有一个像样的行编辑器,则不需要在程序中包含任何支持。相反,只要告诉用户使用包装程序,比如 rlwrap (基于readline)或 ledit . 这些包装器确实提供了行编辑和历史记录,这两个特性是您作为需求列出的。我建议您只有在需要一些更新奇的东西时才在程序中构建输入处理,例如当用户按 . |
|
4
0
|