问题描述
|
我正在尝试构建一个需要用户输入的控制台应用程序。我可以使用printf将光标保持在同一位置,也可以使用curses,但无法获得向上箭头的命令历史记录。有指针吗?
解决方法
我认为您需要readline(www.gnu.org/software/readline/,现在似乎已重定向到维护者网站,网址为http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)
, 除了提到readline库之外,我还将提到BSD许可的
editline
库和rlwrap
命令行包装器工具,该工具可运行具有基于readline的历史记录的任何程序。
, 只要GNU许可证对您来说不是问题,我就强烈考虑使用GNU Readline
, 看看GNU Readline库。它可以提供输入历史记录支持。
, 在Windows中,标准控制台窗口提供向上箭头的输入历史记录-您无需执行任何操作。有关其他标准Windows控制台服务,请参见doskey
命令快速帮助,只需将单词“ command”替换为“ input of line”即可。有点误导,是的。
编辑,添加段落:可能您正在做绕过标准服务的事情。我只是注意到浏览器窗口标题显示\“ ncurses \”,它不在您当前的问题标题中。也许就是这样,但是在这种情况下,请专门向ncurses寻求帮助。
对于* nix,请参见其他答案。
干杯和健康。