用于c / c ++的交互式控制台编程?

所以我写了一个小程序,它接受用户的命令,然后显示输出(连接到服务器之后)。 这是一个交互式的控制台。

但是,在使用mongodb和redis命令行客户端(在控制台/terminal上交互工作)之后,似乎必须有一个库,提供诸如logging用户input的function,接受向上/向下按键来浏览命令历史,以及制表符完成框架(不知道如何工作,但是)。

什么是这样一个理想的图书馆使用?

readline库是一个常见的选择: http : //www.gnu.org/s/readline

如果你更有雄心壮志,ncurses给你更多的控制,但功能更少,学习曲线更陡峭。

编辑: icktoofay提到,readline是根据GPL授权的。 如果这对于您的软件来说是个问题, 那么tecla是另一种使用X11格式许可证的许可证,所以它可以在专有项目中使用。