2011-09-24 30 views
7

Así que he escrito un pequeño programa que toma los comandos de los usuarios, y luego muestra la salida (después de conectarse a un servidor). Es una especie de consola interactiva.Programación interactiva de consola para c/C++?

Sin embargo, después de usar los clientes de línea de comandos mongodb y redis (que trabajan interactivamente en la consola/terminal), parece que debe haber una biblioteca en alguna parte que proporcione funcionalidades tales como la grabación de entradas de usuario, aceptación de teclas arriba/abajo para navegar a través del historial de comandos, así como del marco de finalización de pestañas (no estoy seguro de cómo funcionaría, pero sí).

¿Qué es una biblioteca ideal para usar para tal cosa?

Respuesta

10

La biblioteca readline es una opción común: http://www.gnu.org/s/readline

Si usted es más ambicioso, ncurses le da más control, pero tiene menos funcionalidad, para empezar y una curva de aprendizaje empinada.

Editar: icktoofay mencionó que readline está licenciado bajo la GPL. Si esto es un problema para su software, tecla es una alternativa autorizada bajo una licencia de estilo X11, por lo que puede usarse en proyectos propietarios.

+2

Vale la pena señalar que readline tiene una licencia GPL. – icktoofay

+6

@icktoofay: pero puede usar editline, que tiene licencia BSD y tiene la misma funcionalidad que readline. –

Cuestiones relacionadas