【发布时间】:2013-09-01 18:23:28
【问题描述】:
我想为一个后台程序编写一个命令行 shell,我可以在其中输入一些命令。我想添加一个功能,比如 bash(或其他类似 shell)---'UP' 键来获取历史输入。如何捕获按下的“UP”键?
如果我只使用std::getline(std::cin, line),我无法获得“UP”键或其他功能键,即。 Ctrl+w 删除输入行的一个单词。
【问题讨论】:
-
有一个“getline 库”,它是一组 C 功能,允许您在程序的输入上编辑/记录历史/等。或者,您必须自己读取原始输入并处理键盘输入...
-
今天有一个related (though different) question,可能很有趣。
-
@MatsPetersson 您的建议非常有用,它应该是答案而不是命令。我现在使用 GNU readline 库。 cnswww.cns.cwru.edu/php/chet/readline/rltop.html
标签: c++ c shell command-line